> Hi Yahya,
> I like the full.png diagram, however, I see some issues with it.
>
> Most seriously, the methods it lists don't match the documentation.
>
> E.g. if you check MappingView:
>
> https://docs.python.org/3/library/collections.abc.html#collections.abc.MappingView
>
> you see it has only a __len__ mixin method.
> The other methods in the diagram are implementation details
> and should be removed.
>
> Some presentation points (all IMHO of course):
> * Get rid of the empty boxes.
> * Get rid of the trailing (). Since all methods have this, it adds no info.
> * There is no visual distinction between the abstract methods
>   and the mixin methods. I'd suggest making the abstract methods italic
>   or something like that.
>
> Stephan

Thank you for your observations Stephan.

The reason behind that is that I genretated it from a copy of the source code, 
and I was sondering about getting rid of it or not... But I think you'r right: 
let's display only the documented part.

About the displaying of the abstract method, sadly it seems that pyreverse 
doesn't support it... It didn't find a way to hide the paranetesis either. I 
could make those changes whth a graphic tool though. Same thing with the empty 
box.

Whereas it's possible with plantuml. But may be I have to use a pure python 
tool. What's your opinions about that?

Another thing: for exemple, in the case of Collection, it asks to implement the 
three method __iter__, __contains__ and __sized__, but since it inherit them 
from Iterable, Container and Sized, they're not shown.

I think it's better to make them appear since:
1. you have to implement them to inherit from it;
2. the three methods are checked during the __subclasshook__ of this ABC to 
know if a class is a virtual subclass of it or not (when pass as a second 
argument of issubclass() for example).

I don't think it's an error in UML to re-display them since they are abstracts 
(it would be if they were concretes because it would mean that they were been 
overriden).
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to