Notes on programming + best practices, design patterns, architectural patterns, and project management
- For actual implementations, see: ltskinner/cicd
- Includes:
- 🏛️ Standard File Structure
- 🐍 Python examples
setup.py
module.py
examples- subpackage examples
- relative imports
- package
__init__.py
example - subpackage
__init__.py
example - subpackage usage
- testing examples
- packaging example
- ⚙️ Config file examples
Best Practices | ||
---|---|---|
Programming | Naming Conventions | Diagramming |
Agile | ||
Agile Rules | Sprint Planning | Sprint Review |
Quality Assurance | ||
QA Checklists - USE THESE |
"Requirements are like water. They're easier to build on when they're frozen"
Architecture is the design of constraints that apply system wide
"When you look at the architecture, you should be pleased by how natural and easayy the solution seems."
Design is the process of compartmentalizing the system into packages/subsystems, classes, and routines while keeping complexity to an absolute minimum
"Once you understand that all other technical goals in software are secondary to managing complexity, many design considerations become straightforward"
"If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization"
-> Peer Reviews
- Agile Metrics