Various design issues with Python snippets
NeilGirdhar opened this issue · 0 comments
There are a variety of design issues with the Python snippets. Instead of making a separate issue for each, I'll summarize them here for discussion purposes.
The "class" snippet tries to explicity call __init__
on the base classes. This is generally incorrect, and can cause double-initialization if there any diamond inheritance patterns.
The "dcl" snippet has a syntax error. It's probably best to keep only the first field.
There's a bug with the " snippet. It seems to miss two of the final quotation marks.
Python 2 is dead, so "#!2" and "uni" should probably be removed.
The "contain" snippet lists most of the methods of a mutable sequence. A container only needs __contains__
. Also, __reversed__
should be removed (It's provided by collections.abc.MutableSequence
and insert
should be added.) See https://docs.python.org/3/library/collections.abc.html for more information.
The "repr" snippet has a now useless __unicode__
method and numeric shoul remove hex, oct, coerce, and long.
The unittest library is generally supplante by pytest, so "sk" should probably be removed or updated to call pytest.skip
. Similarly, "a=", "test", "testcase" should be removed since pytest favors bare function fixtures over classes.