The document discusses principles and techniques for effective code review. It recommends starting with a descriptive abstract and top-down overview to get the high-level logic. Reviewers should then read through the code from bottom-up, driving the code by taking turns and asking questions to fully understand the logic. The goal is to search for code smells, violations of principles like SOLID, and areas that could be improved. Fixes are noted for later implementation.
Convert to study guideBETA
Transform any presentation into a summarized study guide, highlighting the most important points and key insights.
3. Psychological Barrier - IHard to concentrateFocusing for more than a few dozens of minuteswithout any recessionis hardly possiblehttp://www.flickr.com/photos/txd/2681183845/
4. Psychological Barrier - IIHard to understandTo read and to interpretsomebody elses logic (code)http://www.flickr.com/photos/dhammza/91435718/
5. Effective Code ReviewHow?Descriptive AbstractFocusTop-Down OverviewBottom-Up ReviewRead & CommunicateDrive the codeUnderstand the codeSearch for: Code SmellsViolations of OOD and OOPViolations of Code ConventionsComprehension
7. FocusFocus on Problematic IssuesCouldnt Make It Straighthttp://www.flickr.com/photos/horiavarlan/4259933101
8. Top Down OverviewGet High Level OverviewSketchesWhite BoardHigh Level Class DiagramRead (a few) Unit Testshttp://www.nasa.gov/multimedia/imagegallery/image_feature_526.html NASA
9. Bottom Up ReviewContinue to review the CodeReview Unit TestsReview Classes & MethodsThink about MissingUnit Testshttp://www.nasa.gov/multimedia/imagegallery/image_feature_649.htmlNASA/CXC/UMass Amherst/Q.D.Wang et al
10. Drive the CodeTake InitiativeBecome a DriverIs it easy to Drive?Pair ProgrammingTechniqueshttp://www.flickr.com/photos/pmarkham/3652471231/
11. Understand the Code (Logic)http://www.flickr.com/photos/apperceive/3351889502/Read, Read, ReadDo you understand?
12. CommunicateRead the Code LoudlyAsk QuestionsThink Loudlyhttp://www.flickr.com/photos/apperceive/3351889502/
13. Code Smells & OO ViolationsS.O.L.I.Dhttp://www.flickr.com/photos/katerha/4526272937/Long MethodsUnreadableHard to maintainhttp://www.flickr.com/photos/king-edward/2266814656/Duplicate CodeBinding to ImplementationEncapsulation Violations