其實這不只適用於 GitHub,所有的 Issue 維護也可以遵循這樣的標記系統,只是各 Label Groups 與 Label 的內容可能需要隨著專案進行變化,這邊依照過往的使用習慣列了一些常用的 Label Groups。
Styleguide
Gating Requirement | 🏷️ Gating 🏷️ Gating Candidate 🏷️ Non Issue |
Platform | 🏷️ Phone 🏷️ Tablet 🏷️ Computer |
Environment | 🏷️ Development 🏷️ Testing 🏷️ Staging 🏷️ Production |
Problem | 🏷️ Bug 🏷️ Erratum 🏷️ Safety 🏷️ Suggest |
Error type | 🏷️ UI 🏷️ UX 🏷️ Function 🏷️ Typo 🏷️ Incorrect 🏷️ dependencies |
Action | 🏷️ To-do 🏷️ Pending 🏷️Processing 🏷️ Verifying 🏷️ Done |
Inactive | 🏷️ Duplicate 🏷️ No-Action 🏷️ Clarify |
Additions | 🏷️ Feature |
Label Groups
Gating Requirement
用來標記 issue 的緊急程度,依照嚴重性降冪排序,依序為 Gating
、Gating Candidate
、Non Issue
Platform
如果程式可在多個平台上執行,就必須告知是在哪個平台上發生問題,例如:手機
、平板
或是電腦
,向下可以在細分出 device、 OS 或是 browser…等 Label Groups。
Environment
在理想的情況下,發行與管理程式所使用的環境可大致分成:Development
、 Testing
、 Staging
與 Production
四個獨立環境。不過實務上受限於體、時間或其他資源條件,可能會結合一或多個環境,但最少應該將 Production 獨立出來。
Problem
在歸類 issue 的時候第一步會區分是 Bug
、 Erratum
、 Safety
或是 Suggest
,如果運做結果不正確或不合預期就歸到 Bug
;若是文件或註解甚至是 UI 上的文字有誤或者意思錯誤則歸到 Erratum
;若是安全性相關的問題則標上 Safety
;其他建議則使用 Suggest
。
我常用的就這四個標籤,其他標籤會依照專案在進行擴充。
Error type
這個標籤會在細分 Problem 的部分,我又分成 UI
、 UX
、 Function
、 Typo
、 Incorrect
與 dependencies
。其中 dependencies
是指第三方函式庫或相依函式庫的問題。
Action
我參考 trello 的 template 將執行進度分成:To-do
、 Pending
、 Processing
、 Verifying
與 Done
。
To-do
顧名思義就是放入代辦清單。Pending
則是先暫時擱置,可能在等待 Design 或 Spec,抑或者有可能是第三方問題等待修復中,不過最常見的原因是出現較緊急的 issue 需要 hot fix ,所以先暫時擱置目前的工作。Processing
就是處理中, Verifying
則是請 Q 驗證中。
Inactive
如果評估後不需要動作,則視情況澄清 issue Clarify
或是 No-Action
。若是 isseu 重複,則為較後面出出現的 issue 貼上 Duplicate
標籤並關閉。
Additions
這個標籤 Feature
是標注這條 issue 已經在規劃中了。
參考資料
- kanban-template 。檢自 trello (2020-02-06)。
- Zach Dunn 。How we organize GitHub issues: A simple styleguide for tagging 。檢自 robinpowered (2020-02-06)。
更新紀錄
最後更新日期:2020-05-19
- 2020-05-19 發表
- 2020-02-06 完稿