Title:   Nitpicker's checklist for code cleanup
Status:  Current 
Created: 2005-06-20
Revised: 2005-08-02

*A* svn propset svn:keywords Id

*B* GPL header
    - start with a short line describing the purpose of the file
    - include $Id: $ line at the end

*C* Docstrings for the module, for all classes and for all public functions

*D* Reasonable exception classes

*E* Docstrings for exceptions

*F* Include a @raise line in function docstrings whenever appropriate

*G* Include an "__all__ = [...]" line

*H* Remove references to depreciated Python modules, especially "types" and
    "string"

*I* ==== comments for classes or function groups, ---- comments for functions

*J* Define a __repr__ () function for objects whenever reasonable

*K* Naming of functions:
    foo ():   public interface functions
    _foo ():  non-public interface functions intended to be used by related
              objects (e.g. ResultSet - RecordSet)
    _foo_ (): virtual functions intended to be overwritten by descendants
    __foo (): private functions
    Keep the public interface as clean as possible!

*L* Order of function definitions:
    1. object system functions, like __init__, __repr__, __getitem__, __del__
    2. overrides of inherited virtual functions
    3. public interface functions
    4. stubs for newly-introduced virtual functions to be overridden by
       descendants
    Private functions come right after the public function that uses it;
    private functions used at several places can go between 3. and 4.

*M* Include reasonable debug messages with gDebug

*N* Include checktype () checks for parameters in public functions


File                  | A | B | C | D | E | F | G | H | I | J | K | L | M | N |
----------------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
                      |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
----------------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
                      |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
----------------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
                      |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
----------------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
                      |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
----------------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
                      |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
----------------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
                      |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
----------------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
                      |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
----------------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
