Python Best Practices
Overview
Implement modern software development best practices policies and procedures. Use standard/popular/commonly available tools.
TODO List
- Procedures
- Implement mandatory non-blocking code review procedure
- Implement continous integration procedure
- Implement automated testing procedure
- Policies
- Coding style, code coverage, static analysis (pre/post git hooks)
- Branch names (Link sprints/branches/issues/tests)
Coding Style and Methodologies
- PEP 8
- PEP 20
- Hitch Hikers Guide to Python
- Common design patterns in Python
- An “awesome” list of Python resources
Code Reviews
- Gerrit
- Atlassian Crucible
Static Code Analysis
- PyLint
Testing
- PyTest
- DocTest
Continuous Integration
- Jenkins
- Atlassian Bamboo
Version Control
- Atlassian Fisheye
- Atlassian Bitbucket
- GitHub
- Git
- Policy enforcement
- Static analysis
- Pre Commit Hooks
- Post Commit Hooks
Documentation
- PyDoc
- Sphynx
- Doxygen
- Markdown
- Atlassian Confluence
- Publish development and developer websites
- PEP 257 - Docstring Conventions
Standardized Developer Tools
- Platforms
- Integrated development environments
- Coding tools
- Debugging tools
- Testing tools
- Documentation tools
Project Management
- CA Rally
- Atlassian Jira
Training
- Online training courses
- Online video classrooms
- Peer to peer training
- Pair programming
- Lunch and learn
- Chalk talks
- MDA developers wiki
- Confluence
- Sharepoint
- MediaWiki
- GitHub
References
Best of the Best (BOBP) Guide for Python
PEP 8 - Style Guide for Python Code
See Also
Wikipedia - List of Software Development Philosophies