Before every commit you must:
You can run all syntax check and all test with a single command:
$ ./pre-commit-check.sh
Un-tested code is broken code.
For every feature you add to the codebase you must also add tests for it.
You can run tests like this:
$ bin/test -s collective.table
All Python source code should be PEP-8 valid and checked for syntax errors. Tools for checking this are pep8 and pyflakes.
If possible make your editor run pep8 and pyflakes on your current file every time you save it. Useful links:
Alternatively you can use these two commands to check style manually:
$ bin/pyflakes collective/table
$ bin/pep8 collective/table
We track all feature-level changes to code inside docs/HISTORY.txt. Examples:
Un-documented code is broken code.
For every feature you add to the codebase you must also add documentation for it in docs/sphinx/.
After adding documentation, re-build Sphinx and check how it is displayed:
$ bin/sphinxbuilder
$ open docs/html/index.html
As a stylistic guide: Imports of code from other modules should always be alphabetically sorted with no empty lines between imports. The only exception to this rule is to keep one empty line between a group of from x import y and a group of import y imports.
BAD
import os
from plone.app.testing import login
from collective.table.tests.base import TableIntegrationTestCase
GOOD
from collective.table.tests.base import TableIntegrationTestCase
from plone.app.testing import login
import os
BAD
from collective.table.local import *
from collective.table.local import add_row, delete_rows
from .local import update_cell
GOOD
from collective.table.local import add_row
from collective.table.local import delete_rows
from collective.table.local import update_cell