Opened 13 years ago

Closed 7 years ago

#2232 task closed fixed (fixed)

Tool for measuring coding standard conformance

Reported by: Jonathan Lange Owned by:
Priority: low Milestone: totally automated release infrastructure
Component: core Keywords:
Cc: therve, Thijs Triemstra Branch:


Like pyflakes, except for our coding standards.

Change History (6)

comment:1 Changed 13 years ago by Jean-Paul Calderone

Things that can probably be implemented without a serious level of difficulty:

  • line length limits
  • # -*- test-case-name: ... -*- - okay, it isn't in the coding standard that modules need to start with this, but it should be.
  • Ditto for copyright statement
  • Whitespace around operators
  • four space indents
  • no tabs or trailing whitespace
  • no simple suites
  • no relative imports (is this actually possible?)
  • " or """ for docstrings
  • valid, parsable epytext
  • No __variables
  • No \-style line continuations

Harder things which might result in false positives:

  • docstrings on every module/function/class/method
  • StudlyCaps, camelCase, and auto_DISPATCH naming

What else?

comment:2 Changed 13 years ago by Jonathan Lange

  • It would be easy to check vertical whitespace.
  • Possibly some more sophisticated indentation checking (you know, for statements that span multiple lines)

comment:3 Changed 13 years ago by therve

Cc: therve added

This is the kind of things pylint can do, with a little bit of configuration (OK, maybe a lot of configuration).

comment:4 Changed 9 years ago by <automation>

Owner: Jonathan Lange deleted

comment:5 Changed 7 years ago by Thijs Triemstra

Cc: Thijs Triemstra added
Milestone: regular-releases

This has been implemented as tool called twistedchecker right..?

comment:6 Changed 7 years ago by Jean-Paul Calderone

Resolution: fixed
Status: newclosed

Yes, thanks for noticing. Although twistedchecker definitely needs more work, it now exists as a real project on Launchpad - - and bug reports and feature requests should be handled there.

Note: See TracTickets for help on using tickets.