CSCE 315 Lecture 22

From Notes
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