Image

今天和大家分享一篇前兩天看到的 Code Review 觀念文:
從 Code Review 的小事看到大事 - William Yeh

這篇的內容從 Code Review 出發,提了多個延伸議題。從程式碼品質、團隊共識,到需要哪些人事物才能促進 Code Review 的環境,引用的數量和思考都蠻廣的。像是談到 Code Review 的重點時,就引用了《軟體測試實務:業界成功案例與高效實踐(第一冊)》:

  • 是否有明顯的邏輯錯誤?
  • 有無遵循既有的程式碼編寫規範?
  • 邏輯的測試保護足夠嗎?
  • 有完整實現需求嗎?

又或者在 Code Review 的鬆緊度這點上,引用了 Google 的 “What to look for in a code review”:

Don’t accept CLs (change lists) that degrade the code health of the system.

「童子軍規則」(The Boy Scout Rule):「離開營地前,讓營地比使用前更加乾淨。(Always leave the campground cleaner than you found it.)」

我所在的團隊也有將 Code Review 拉進開發流程,目前給我的整體感覺是舒適的。在 Review 和被 Review 之中,我也常從同事們學到一些程式碼的簡化技巧,或是突然認識到「原來維護者是這樣理解我的程式碼的」而得到優化品質的機會(這也就是文內提到的 four eyes:多一個人來確保品質

但同時,我也感覺到內文所寫的「品質不是白吃的午餐」是有道理的。Code Review 並不是萬靈丹,說一句「Reviewer 要把關啊」就可以消滅所有 Bug 和團隊問題。因此在閱讀這篇文章的時候,其中有幾個部分就會讓我覺得是個可以延伸出去的思考點:

例如說,除了工程師需要具備技術水準和領域知識以外,團隊也需要有對產品有「共同持有」的心態

以及『每當有「現在可不可以暫時跳過 four eyes?」的衝動,或許該換個角度思考「現在有沒有方法讓 four eyes 更有效率且不犧牲品質?」』這種持續改善的精神。

或是後半段裡「讓進步看得見」和「支持長久研發的措施」這類提升團隊、改善環境的方向等等。

在看這篇文章的時候,發現 Code Review 能延伸的議題真的蠻多的。因此將這篇文章轉貼上來,希望正在進行 Code Review 制度或是有興趣的朋朋可以閱讀,也許作者整理出來的議題和關聯文章,會讓你也有一些收穫。

註:有些朋朋可能對 Code Review 的時候需要看些什麼東西更好奇,因此這邊也丟出一些延伸閱讀。

如果還有推薦的相關文章,也非常歡迎丟上來互相收藏~

那麼,今天的轉貼就先到這邊。明天見 ><