MVP 20+ years, currently for Developer Tools .NET ARCHITECT TECHNICAL SPEAKER 20+ years as international speaker AUTHOR Software Gardening column DNC Magazine COMMUNITY INFLUENCER Grape City
authors dealing with software inspections, and his colleagues continues to support earlier findings that a human being inspecting code is the most effective way to find and eliminate complex problems that originate in requirements, design, and other noncode deliverables. Indeed, to identify deeper problems in source code, formal code inspection outranks testing in terms of defect-removal efficiency levels. - "Do You Inspect?“ - Capers Jones and Olivier Bonsignour 2011
review) of computer source code. It is intended to find mistakes overlooked in the initial development phase, improving the overall quality of software. Reviews are done in various forms such as pair programming, informal walkthroughs, and formal inspections. DEFINITION - Wikipedia
review) of computer source code. It is intended to find mistakes overlooked in the initial development phase, improving the overall quality of software. Reviews are done in various forms such as pair programming, informal walkthroughs, and formal inspections. DEFINITION - Wikipedia
review) of computer source code. It is intended to find mistakes overlooked in the initial development phase, improving the overall quality of software. Reviews are done in various forms such as pair programming, informal walkthroughs, and formal inspections. DEFINITION - Wikipedia
done well and what can be done better It is not a witch hunt Sharing findings makes all developers involved better No one size fits all - Shawn Wildermuth: Pluralsight
read it before review meeting • All parties meet to go through code INFORMAL • Reviewers get code and email comments to author AUTOMATED • Software flags suspect code that doesn’t follow guidelines • Human reviewers enter additional comments PULL REQUEST • Reviewers look at code changes before merge
defect detection rate is only 25 percent for unit testing, 35 percent for function testing, and 45 percent for integration testing. In contrast, the average effectiveness of design and code inspections are 55 and 60 percent. programming, informal walkthroughs, and formal inspections. - Code Complete
on which to spend your time, than arguing over the placement of white spaces. Looking for bugs and performance issues is the primary goal and is where the majority of your time should be spent. Suggestions on maintenance best practices can be brought up after the bugs have been discussed. . WHAT TO LOOK FOR - msdn.com
Search for patterns and anti-patterns Look for what they’re doing well Look for what they’re doing that is causing problems Quantify the quality of the code Not exhaustive, spot check - Shawn Wildermuth: Pluralsight
statements Avoid the “why” questions Give praise Have good coding guidelines Stay focused on the code, not the coder There is more than one way to approach a solution Look for patterns rather than individual bugs
Find things to laud and things to fix Look for common (repeated problems) not of-off issues Review 200-400 lines at a time Reviewing the entire code base is not beneficial No code is perfect Maintainable code is a feature - Shawn Wildermuth: Pluralsight
job is was supposed to do Does the code follow coding guidelines Are there just enough comments (none?) Are there unit tests for this code Can I understand this code from just reading it Does this code belong here or in its own method/class (SRP) Is code being replaced, commented out, or removed
code, but can learn from the reviewers, even when they’re less experienced Remember the code isn’t you • Items the reviewers tend to look for • Do your own review with the checklist before submitting the code for review Have a checklist of review items • Are things missing? • Do things need to be updated? • Do things need to be removed? Help maintain the coding guidelines