Build the Code Self-Review process with GitLab Description Templates
GitLab:11.11.8
對於一個多人開發的專案來說,Code Review
是很重要的一個環節,除了可以找出開發者本身沒注意到的盲點之外,也可以激發出不同的解決方式,讓大家都有互相學習的機會。
但是隨著組織的規模越變越大,權責越分越細,專案中需要注意的事情會大幅增加,比如說資料庫連線、共用 Library 的版本等等,有時候完成一個功能可能需要同時改動到數個 Repository,甚至在 deploy 時還有先後順序;通常到了這種規模,很容易就會因為漏看或沒注意到一些專案以外的細節,導致 merge 到看起來沒問題,實際上不能動的 code。
雖然把這些該注意的細節定義成規範讓開發者參考的話,可能可以減少這些事情的發生,但有沒有確實參考規範執行卻又是另一回事了。
但是,如果把規範直接整合進去 Merge Request
的流程裡,並建立 Code Review
的自我檢核表,在請其他 reviewer 看之前先自我驗證一次,出錯的機會也許就可以大幅降低。
GitLab
提供了 Description Templates 的功能,可以透過這個功能直接在 Repository
中建立自我檢核表的 Template
,在每一次建立 Merge Request
或 Issue
時,就可以選用我們自行建立的 Template
。
Basic Usage
要使用這個功能,必須要在專案中的 default branch 建立 .gitlab
資料夾。
建立完成以後,可以在 .gitlab
底下建立兩個不同的資料夾分別控制 Merge Request
和 Issue
的 Template
。
名稱 | 功用 |
---|---|
issue_templates | 存放 Issue 的 template |
merge_request_templates | 存放 Merge Request 的 template |
Template Example
Template
是使用 Markdown file( *.md
)撰寫,檔名就是 Template
名稱。
General.md
# 目的
_(write something)_
# 調整內容
_(write something)_
### 機器異動
_(write something)_
### MR 的影響範圍及錯誤因應方式
_(write something)_
# 使用者驗證流程
_(write something)_
# 參考資料
_(write something)_
# 自我檢測
自己給我測起來!!
### Style
- [ ] 至少通過任一種 style-check
- [ ] 同 Project 內的 naming convention 應該要一致
### UnitTest
- [ ] 測試覆蓋率不可下降
- [ ] 只要有修改 code 就要有對應的兩個 unit test(正向測試及 Exception 測試)
完成以後就可以選取 Template
使用了。