Closed villares closed 4 years ago
Hi @villares, many thanks for the feedback. I'm glad to hear you're a fan of the lesson!
As much as I'm a fan of the "magic" term, definitely reducing confusion by using naming consistent with the wider community is better pedagogy, so I've switched. I've left in a brief mention of "magic" as an alternative, because there are still references on docs.python.org using that terminology.
My original thinking with ignoring the dunder nomenclature until episode 5 was to avoid introducing too many concepts at once—first introduce one special method that is the most common, and then once that is solid then extend it to a family of special methods. However, I can see your point, especially if instructors have a hard time not saying "dunder" (rather than "underscore underscore init underscore underscore"). As a compromise I've added an explanation in episode 2 as a callout, to try and avoid interrupting the flow with an extra concept; I think this matches what other Carpentries lessons do when they want to point out "hey, lots of people say this, your instructor might too, this is why".
Thanks again!
Hi, this OOP novice lesson is really great.
I'd ask the maintainers to consider renaming the topic title "Magic Methods" (https://sa2c.github.io/python-oop-novice/05-dunder/index.html) to "Special Methods", as it is the term favored by many authors in the Python community nowadays (including Luciano Ramalho, a Carpentries contributor, in his Fluent Python book). We could even maintain a mention to the term 'magic methods' if you like.
Also, its great that at the end there is a mention to the 'dunder' nomenclature, I feel it should be mentioned earlier, in connection to how we pronounce things like
__init__
("dunder init") and it's origin from "double underscore" (it can be quite confusing to the non-initiated).