Keep your codebase healthy without acting like the thought police.
Presenting a process for collaborative software development that yields high quality code, preserves developer flexibility, and fosters communication and learning.
Rules of the commons 1. Every commit must make sense on its own 2. Every commit must do something meaningful 3. No commit may break the build 4. Every commit must include thorough tests for all code changes Every commit must be atomic
Why? 1. Every commit must make sense on its own Communication and clarity 2. Every commit must do something meaningful Less noise == less frustration 3. No commit may break the build Reliability (part I) 4. Every commit must include unit & acceptance specs for all code changes Reliability (part II)
The final process Formulate an approach Write your code & tests Organize your branch Present code for review Iterate based on feedback QA & merge into master