CSCE 315 Lecture 22
Jump to navigation
Jump to search
« previous | Monday, March 19, 2012 | next »
Collaborative Construction
Working on code development in close cooperation with others
- Developers don't notice their own errors easily
- others won't have same blind spots
- errors caught earlier and more easily by other people
More effective than testing alone:
- 35% errors found through low-volume beta testing
- 55-60% errors found by design-code inspection
- 5-10% errors found in deployment
Collaborative construction is also a mentoring thing:
- Junior developers learn from more experienced programmers
Code Reviews
Extremely effective in finding errors:
- lower ratio of time spent in review vs. later testing and error correction
- reduced correction budget
- maintenance is cheaper
- reviewed code is more correct and is more efficient
Reviews vs. Testing
Finds different types of problems:
- unclear error messages
- Bad commenting
- Hard-coded variable names
- Repeated code patterns
Formal Inspection
Focus on detecting errors; not correcting errors
Reviewers prepare a small piece of (unfinished) code to give to others
Roles: (3-6 people)
- Moderator
- keep meetings running (technically competent), and handles details
- Author
- Original writer of the code (should speak for itself), but should be present to explain parts that aren't clear
- Reviewer(s)
- looks over code, not author
- Scribe
- Records errors and assigns actions (should not be moderator or author
- Management
- Not present in room, but should receive report of meeting's outcome