On Fri, Jul 30, 2021 at 7:11 AM Leonardo Freua <leonardo.batista.fr...@gmail.com> wrote: > > >>> First line of the body vs line before the declaration doesn't feel > >>> like it makes much difference to me. > > Usually, decorators or annotations are placed near the method signature, that > is, at the beginning where any reading begins, because it's easier to see > that method is deprecated or anything else that needs a decorator. > > Putting this information inside the method body, you end up putting > information that is not the method's responsibility to provide, this ends up > mixing with what the method actually does, it's more information to read in a > debug or in maintenance that the method will need to receive. Not to mention > the fact that sometimes depreciation messages can be longer than 2 lines. > > Most programming languages have some way of expressing depreciation, and it's > usually close to the method signature. >
One advantage of language support for deprecation can be an "entry point only" warning - if a regular function calls a deprecated function, there's a warning, but if a deprecated function calls another deprecated function, there won't be. Whether this is worth implementing here is a separate question, but it would certainly be easier to do with a decorator than an explicit warn() call. ChrisA _______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/FRQXPFRFV72QXVEJ6PITFZ3LI74IP7DU/ Code of Conduct: http://python.org/psf/codeofconduct/