On Fri, Apr 25, 2014 at 08:42:02PM -0400, Donald Stufft wrote: > > On Apr 25, 2014, at 7:20 PM, Ethan Furman <et...@stoneleaf.us> wrote: > > > On 04/25/2014 03:26 PM, Donald Stufft wrote: > >> > >> pep8.py doesn’t violate PEP8, it just takes a stricter view of it. > > > > If pep8 reports errors on things that PEP 8 says are okay, that's a > > violation.
> Not really, any code that passes the pep8.py check is perfectly valid in the > eyes of PEP8, > if a check was implemented to say, require camelCase method names, then that > would > be a violation of a check. Being stricter is not a violation, it’s being > stricter. Suppose that some package claiming to check for PEP 8 compliance decided to flag variable names like "foo" and "bar" as errors. Perhaps it was inspired by Tim Peters: Indeed, when I design my killer language, the identifiers "foo" and "bar" will be reserved words, never used, and not even mentioned in the reference manual. Any program using one will simply dump core without comment. Multitudes will rejoice. -- Tim Peters, 29 Apr 1998 Or perhaps it decides that one should never, ever have more than a single dot in a row, a treat that as an error: obj.method() # okay obj.method().attribute # Law Of Demeter violation This hypothetical checker is stricter than PEP 8, in that it allows nothing that PEP 8 forbids. But it also forbids things which are allowed by PEP 8, which is a false negative error: things which should be allowed (according to PEP 8) are forbidden by the checker. (The other kind of error is a false positive, where things which are forbidden by PEP 8 are wrongly allowed by the checker.) I stress that they're only errors if the checker is running in PEP 8 compatibility mode, where it is supposed to check for PEP 8 compliance. That's the crux of Nick's, and Ethan's, argument: with a name like "PEP8", it is reasonable to expect that by default the checker operates in PEP 8 compatibility mode. I agree with them. -- Steven _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com