Presentation is loading. Please wait.

Presentation is loading. Please wait.

Review your code and all your wildest dreams will come true (vote for Pedro)

Similar presentations

Presentation on theme: "Review your code and all your wildest dreams will come true (vote for Pedro)"— Presentation transcript:

1 Review your code and all your wildest dreams will come true (vote for Pedro)

2 Jason Cohen @ASmartBear StackOverflow Rep: 11,723. Booyah.


4 Code Collaborator

5 Peer Code Review != Suck


7 Act I What’s the Point?

8 Requirements Design Architecture Discussion Review

9 Requirements Design Architecture Code Discussion Review (void)0 Where most of the bugs come from


11 COUNT(editors) > COUNT(writers)

12 9 errors/page

13 Spell Czech: Good, butt knot enough

14 Common Sense

15 The Experiment

16 Rule of Bug: Earlier == Cheaper What if we had Peer Review? ? ? ?

17 $152k, down from $368k 32, down from 194

18 It’s made of people

19 The Ego Effect

20 Team building




24 Team building, for reals


26 Go faster!


28 “The problem is, they suck.”

29 “Those guys are pretty cool.”

30 Specifications Meetings Talking about code

31 if(“integrate”.equals( s )) if( 0 == ptr )

32 1 is the loneliest number 250,000 lines of code Safety net Bus number  2

33 I’m thiiiiinking of a number…

34 if ( youLikeItSoMuch() ) { marryIt(); }

35 Hapless Developer Reviewers Version Control

36 Peer Code Review != Suck

37 Lots of techniques Look over shoulder Auto-email from version control after check-in Walk-through meeting Formal inspection Pair programming Buy a Code Review Tool!

38 Act II Techniques

39 Over-the-Shoulder Easy, Free Interruption No info Walk-through

40 Pair Programming No tools or workflow Deep thought Big time commitment No info Too close

41 Email Easy, Free No interruption, remote Conversation-tracking No info No end

42 Formal Inspections Michael Fagan, IBM, 1976

43 The 7% Rule (with apologies to Eileen)

44 Tool-Assisted Review

45 Typical review process

46 Hapless Developer Reviewers Version Control Identify Changes Package/Deliver Organize Communication Track Defects Audit Trail Reports Audit Trail Reports Automatic Metrics

47 Tools Code CollaboratorCommercial CrucibleCommercial Review BoardOpen-Source MondrianInternal

48 Act II Best Practices How to not waste time

49 Cisco® MeetingPlace® Case Study 3,200,000 lines of code 2,500 reviews 50 developers 10 months San Diego, Bangalore, Budapest s


51 60-90 minutes max Time (minutes) Defects Found

52 Go slow: 200-500 LOC/hour

53 Not too much: 200-400 LOC

54 Author Preparation is ??? Good!

55 Meetings

56 Meetings are required. —Michael Fagan, ‘76

57 1. Planning2. Intro3. Reading4. Inspect5. Rework6. Verify7. Complete8. Improve Fagan Phases = Meeting

58 Meetings are required. —Gilb, Fagan, Wiegers

59 You didn’t check for null. —The Phantom Inspector

60 Are meetings worth it? —Lawrence Votta, ‘93

61 4%

62 Checklists

63 Checklist for Checklists 7  2 (George Miller, ’52) No obvious stuff Nothing that can be automated Stuff that’s easy to forget EXAMPLE: Errors handled properly everywhere in method

64 (Re)building a checklist The Week of Pain

65 Act III Just do it.

66 Selected Code Stable branch Core module Top 10 scariest files

67 Unit tests only

68 During feature-freeze

69 You know what to do, and you know when to do it.

70 Gotta Wanna

71 Jason Cohen Twit: @asmartbear Code Collaborator (Visit our table on your way out!)

Download ppt "Review your code and all your wildest dreams will come true (vote for Pedro)"

Similar presentations

Ads by Google