El dom, 7 feb 2021 a las 9:38, Jonathan Crall (<erote...@gmail.com>)
escribió:

>
>
> Currently my timerit package requires syntax like:
>
> import timerit
> for timer in timerit.Timerit(num=100, bestof=3, verbose=1):
>     with timer:
>         [code]
>
> But that could be simplified to
>
>
> import timerit
> for timer in timerit.Timerit(num=100, bestof=3, verbose=1) with timer:
>     [code]
>
>
Only if you don't setup vars like oficial example* or not calc some
statistic after timered block

* https://timerit.readthedocs.io/en/latest/#timerit-documentation


> And free up one level of indentation (very useful if you are trying to
> keep under 80 chars per line)
>
>
 In your example this is true by luck:

import timerit

class MyClass:
    def myfunc():
        # Next line is 79 chars long, at limit of restricted pep8
        for timer in timerit.Timerit(num=100, bestof=3, verbose=1) with
timer:
            [code]

I usually have identation "problems" in ifs, sometimes in for clauses. I
usually have not problems in function bodys.

I dislike compacted form because:
- i doubt that is good comply their objetive: reduce line length in body
but extend it in control flow lines.
- It's less readable for me. I need to attend to long lines to determine
control flow.
- Refactors are complicated. Think in add a initialization block in your
example and how many lines are changed to be reviewed by your peers.
- It's syntactic sugar for only some marginal edge cases: it cloying the
language

Anyway pep8** says:

Some teams strongly prefer a longer line length. For code maintained
exclusively or primarily by a team that can reach agreement on this issue,
*it is okay to increase the line length limit up to 99 characters*,
provided that comments and docstrings are still wrapped at 72 characters.

** https://www.python.org/dev/peps/pep-0008/#maximum-line-length

So, if 79 chars by line it's too hard for your team you can agree 99 chars
lines with your team. Maybe you find problems in:
- web documentation that includes fixed designs for 79 chars (usually you
can use other theme)
- errors in linters (can be configured to new line width)
- forcing horizontal scroll in 3ways merges for some team members ¯\_(ツ)_/¯

rarely you find problems by terminal widths (this is a very ancient problem
resolved in our century).

So I recomend you relaxed pep8 with 99 chars limit by line in your code
instead to pretend change syntax with no clear gains.

regards,

Javi
_______________________________________________
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/CRNHPY4XUJ7UKS3TE3VY6UIKENILEPUJ/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to