Skip to content

nickhen/Python_Development_Best_Practices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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

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

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

PEP 20 - The Zen of Python

Google Python Style Guide

See Also

Wikipedia - List of Software Development Philosophies

DRY principal - Don't Repeat Yourself

KISS principal of coding - Keep It Simple Stupid