12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- Some small guidelines if you want to help coding
- ------------------------------------------------
- First: I'm always happy to get patches for Dak. I like to merge
- enhancements, bugfixes, whatever. The more, the better.
- Now, to not annoy us all by coming up with small fixes to patches
- multiple times before I merge them, lets write down a few small
- guidelines we all should follow. Yes, the current dakV1 code sure won't
- follow this everywhere, but no need to have new code be the same. :)
- I very much prefer git trees to merge from over simple patches,
- especially if you do lots of changes. (No need for a full git tree for a
- one-off fix). Reason is simple - its much easier to work with. And it is
- also way better in terms of assigning who did what, who has to earn the
- praise. :)
- In case you have more than one feature you want me to merge, one branch
- per feature please. If the location of your git tree is stable and
- doesn't change every second day I'm also very grateful. :)
- Code related:
- - Use readable and self-speaking variable names.
- - Its 4 spaces per indentation. No tab.
- - You want to make sure to not add useless whitespaces. If your editor
- doesn't hilight them, Git can help you with that, just set
- [color "diff"]
- new = green
- old = red
- frag = yellow
- meta = cyan
- commit = normal
- in your ~/.gitconfig, and a git diff should hilight them.
- Even better, if you enable the hook pre-commit in your copy of the dak
- code (chmod +x most probably), git will refuse to commit such things.
- - Describe *every* function you write using a docstring. No matter how small.
- - Also describe every file.
- - Don't forget the Copyright/License header in a file. We expect GPLv2 :)
- - Don't write long functions. If it goes above a sane limit (like 50
- lines) - split it up.
- - Look at / read http://www.python.org/dev/peps/pep-0008/
- VCS related:
- - History rewriting is considered bad.
- - Always have a "Signed-off-by" line in your commit. `git commit -s`
- automatically does it for you. Alternatively you can enable the hook
- "prepare-commit-msg, that should also do it for you.
- - Write good, meaningful, commit messages. We do not have a Changelog
- file anymore, the git commit is *the* place to tell others what you
- did.
- Also, try to use the standard format used in the Git world:
- First comes a summary line, of around 72 caracters at most.
- Then, a blank line, and as many lines and paragraphs as needed
- to describe the change in detail. Beware, though, of including
- in the commit message explanations that would be better to have
- as comments in the code itself!
- Signed-off-by: Your Name <and@address.com>
|