Skip to content

Latest commit

 

History

History
65 lines (51 loc) · 4.37 KB

codeReview.md

File metadata and controls

65 lines (51 loc) · 4.37 KB

Week 7: A Workshop on Code Review and Assessment

Date: October 23rd, 2020 (See Connex for link to Zoom, you need to use your UVic ID to access Connex)

Lecture Objectives

  • Learn about code assessment techniques that are used in industry to improve code quality
  • Learn about empirical studies that have increased our understanding of code review and assessment techniques and tools that are applicable to industry
  • Discuss how empirical studies may be limited and what we can do about it
  • Learn how to do code reviews, how they can improve code quality and how to discuss/promote code reviews on the job or in job interviews

Guests

  • Jorge Aranda, Workday
  • Chris Bird, Microsoft Research
  • Michaela Greiler, Code Review Consultant
  • Brian Houck, Microsoft
  • Ali Mesbah, UBC

Pre Workshop Reading/Watching Materials

Related Materials

Workshop Agenda

Time Speaker Topic
1:30-2:00 Jorge Aranda The Secret Life of Bugs
2:00-2:30 Ali Mesbah Assertions Are Strongly Correlated with Test Suite Effectiveness
2:30-2:45 Break
2:45-3:15 Chris Bird "Modern" Code Review: From Research to Practice
3:15-3:45 Brian Houck Code Review and Assessment: A Perspective from the Trenches
3:45-4:20 Code Review Activity (provided by Michaela Greiler)

Class Activity

For this class activity, Michaela Greiler has generously shared with us an exercise she uses in industry to train developers how to conduct effective code reviews (see https://www.michaelagreiler.com/).
For this activity:

  • Individually, spend approx. 10 mins reviewing the (to be) supplied source code. Refer to Dr. Greiler's checklist as you complete this review.
  • Would you accept and merge this code as a contribution as is, yes or no? Write up a review that you would give to the submitter of this code with your feedback.
  • In small breakout groups, discuss and compare your individual reviews. Discuss which points you covered in the checklist. Which parts were not relevant?
  • How would the checklist help in a future code review you might do on the job?
  • What kinds of training would you need to follow all of the guidelines in this checklist? Do you feel prepared to do a code review?
  • If you were asked about code review in a job interview now that you've seen this checklist, would it change how you answer a question about code review?

Preclass Homework

Write a blogpost on the above assigned materials in advance of the lecture (to be completed by 6pm the day before the workshop --> Thursday).

Your blogpost should synthesize information from all of the assigned pre workshop materials and it should include at most one discussion question per assigned reading/video/podcast. Copy these questions to the relevant Slack channel and like other questions you think should be asked of our guests (we can't ask all of them!). The course staff will curate/group them on Thursday evening. You may (and are encouraged to) update your blogpost after the workshop (but in a separate section of the post). The final version of your blogpost (if you improve it) is due by the following Monday at 6pm.