Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Eureka English Evening

1,245 views

Published on

Slides for Eureka English Evening, where James Neve and Jun Sakata taught code review in English through various activities.

Published in: Engineering
  • Be the first to comment

Eureka English Evening

  1. 1. Eureka English Evening Code Review
  2. 2. Introduction:James • Graduated from Cambridge University in England • Living in Japan since 2013 (worked at Berlitz while learning Japanese) • Principal Engineer at Eureka (joined December 2016) • Specialities: functional programming, graphics processing, machine learning @jamesneve
  3. 3. Introduction:Jun • Graduated from International Christian University • Stayed in NewZealand, Philippines, US. • Senior Engineer at Eureka SRE Team • Specialities: Infrastructure (Network, Middleware). • Like: tcpdump @sakajunquality
  4. 4. Eureka English Evening 1. Presentation - 役に立つな言葉・文章を紹介 2. Practice - みんなで練習 3. Performance - 会話練習アクティビティー
  5. 5. Code Review Style • No need for polite English • Engineer culture is casual & direct • “I wonder if this code’s style could be improved?” X • “Fix the style here” O • Meaning is more important than grammar • Many engineers don’t write in full sentences • “I think you should add a null check here” ~O • “Null check?” O
  6. 6. Asking Questions 1 public static int doSomething(int n) { boolean doSomething = (((n & (n-1)) == 0)?false:true) while ((n & (n-1)) != 0) n = (n & (n-1) return (doSomething?n<<1:n) } Can you explain this…? - line - function - class Make this … clearer, please Can you explain this function?
  7. 7. Asking Questions 2 def addNumbers(j, k): if j == 0: return 46 return j + k + 1 Why did you…? - check this condition - add one Why didn’t you…? 不思議 不思議
  8. 8. Complimenting def factorial(limit): a = 1 for i in range(1, limit + 1): a = a * i return a Great name Easy to understand - thanks! Nice short function など - Good stuff - Nice - Awesome
  9. 9. Requesting Changes 1 def divide_numbers_in_array(arr, x): return [x/y for y in arr] … here please - Null / 0 check - Error handling - Comment “0 check here please”
  10. 10. Requesting Changes 2 def divide_numbers_in_array(arr, x): print(x) return [x/y for y in arr if y != 0] Remove … please - print - old comment - dead code Get rid of … please “Remove print please”
  11. 11. Reminding
  12. 12. Accepting / Rejecting Accepting Rejecting: Thanks! But…
  13. 13. Let’s Practice For Example Add “)” here please
  14. 14. Cheat Sheet Asking Questions Can you explain this…? - line - function - class Why did you…? - check this condition - add one Why didn’t you…? Style - Short and direct - No need for perfect grammar Complimenting - Good stuff - Nice - Awesome Requesting Changes … here please - Null / 0 check - Error handling - Comment Remove … please - print - old comment - dead code Get rid of … please
  15. 15. 1. One person chooses 2. Everyone asks “yes/no” questions 3. Everyone votes 4. Correct people +1 point

×