330 likes | 586 Views
Using online tools to do informal peer review of PowerBuilder code. Bruce Armstrong TeamSybase bruce.armstrong@teamsybase.com. Why do code review?. Fewer bugs / improved code quality Lower support costs to remove bugs Improves communication between developers Code is more maintainable
E N D
Using online tools to do informal peer review of PowerBuilder code Bruce Armstrong TeamSybase bruce.armstrong@teamsybase.com
Why do code review? • Fewer bugs / improved code quality • Lower support costs to remove bugs • Improves communication between developers • Code is more maintainable • Training of junior developers • Cross-training (bus factor)
Types of code review • Formal Inspection (Fagan, et. al.) • Over the shoulder review • Pass around reviews • Pair Programming • Online tool assisted peer review
Formal Inspection • Pros • Highest capture rate / most thorough review • Synergy from team environment • Assurance that defects are corrected • Great deal of metrics are collected • Feedback mechanism for code review process • Cons • Amount of work / time required is significant • Scheduling is difficult • Amount of code to review can be daunting • Running the gauntlet
Over the shoulder review • Pros • Defect capture rate approaching that of formal review • Synergy from team environment • Less resource intensive than formal review • Easier to schedule than formal review • Cons • Metrics are rarely collected • No guarantee that defects were corrected • Amount of code to review can still be daunting • May not provide feedback for process improvement • Still running the gauntlet
Pass around review • Pros • Scheduling is not an issue • Much less resource intensive • Not running the gauntlet • Cons • No metrics are collected • No assurance that reviews are actually being done • No guarantee that defects were corrected • Can be difficult to put review materials together • Lower defect capture rate • Little synergy • No feedback for process improvement
Pair Programming • Pros • Greatest amount of cross-training and junior developer training • Assurance that defects are corrected • Scheduling is not an issue • Cons • Greatest amount of resources required • The “reviewer” is too close to the code, which can reduce the defect capture rate • No feedback for process improvement • No metrics • No synergy outside of the pair
Online tool based peer review • Pros • Scheduling is not an issue • Lower amount of resources required • Synergy maintained • Assurance that defects are corrected • Provides cross-training and junior developer training • Metrics are captured automatically • Not running the guantlet • Cons • May not provide feedback into improving process