Skip to content
Snippets Groups Projects
  1. Mar 15, 2016
    • Guilhem Saurel's avatar
      Python clean, mostly pep8 · 626a16ca
      Guilhem Saurel authored
      https://www.python.org/dev/peps/pep-0008/
      
      A few hints:
          + About Spaces:
              - always after a comma
              - never after [, (, {
              - never before ], ), }
              - always around -, +, *, **, %, ==, >=, <=
              - always around = for an assignation
              - never around = for a default value of an argument
              - never at the end of a line
          + One statement by line:
              - nothing after : unless inside []
              - no ;
          + No useless (), like in a simple if or assert
          + Indentation uses four spaces
          + Blanklines:
              - 2 before class or function declaration
              - 1 before class method declaration
              - never more than 2
          + Line length:
              - We said 79. This is far from beeign respected. Maybe 119 is more reasonable
          + Align:
              - at the begining of a line continuation
              - not multiple spaces before = to align multiple assignements
      
      Of course, in our case, it would be tricky to follow some other rules, like:
          N802 function name should be lowercase
          N803 argument name should be lowercase
          N806 variable in function should be lowercase
      
      Other issues may be addressed:
          F401 '<something>' imported but unused
          F403 'from <some_lib> import *' used; unable to detect undefined names
      
      To check all of this:
          flake8 --ignore=N802,N803,N806 --max-line-length=119 <root_folder>
      
      Other things changed:
          - import order (thanks isort)
          - useless elif changed to if
          - useless else removed
          - usage of ValueError, when an argument does not fit the expected type / size
          - issubclass(x.__class__, X) / x.__class__ == X → isinstance(x, X)
          - isinstance accepts a list or a tuple of classes (eg: isinstance(x, (int, float)))
          - print "" → print
      626a16ca
  2. Mar 30, 2015
Loading