Steven D'Aprano <[email protected]>:
>> In a word, steer clear of metaprogramming.
>
> [...]
> (2) if you mean what you say, that means no decorators,
Correct. I don't find decorators all that useful or tasteful.
> no closures,
Closures I consider ordinary programming. Nothing meta there.
> no introspection ("reflection" in Java terms),
Introspection is suspect in general.
> no metaclasses (other than type),
Correct.
> no use of descriptors (other than the built-in ones),
Haven't used (or at least defined) them.
> no template-based programming,
Please, no.
> no source-code generators.
Lisp-style macros (or scheme syntax rules) are rather a clean way to do
that, but even that mechanism should be used very sparingly and
tastefully.
> No namedtuples, Enums, or data-classes.
They don't seem all that meta to me, but coincidentally I never found
uses for them in my Python code.
Marko
--
https://mail.python.org/mailman/listinfo/python-list