問題系統概觀

Yeoman使用各個專案的GitHub 問題追蹤器。我們使用 GitHub 提供的功能分類問題,以便於管理,並幫助貢獻者尋找要完成的工作。

在 Yeoman 中,我們主要使用三項功能

  1. 標籤
  2. 里程碑
  3. 指派

TL;DR?

請協助解決標註為可操作的議題。它們是您可以立即編寫程式碼的議題。

標籤

標籤用於分類議題。我們使用三種類別的標籤來描述各個議題 - 大多數議題將會同時包含每個類別至少一個標籤

生命週期(可行性)

第一類別檢查議題是否可操作的。它回答的問題是

這個議題現在可以立即解決嗎?

我們有 4 個可能的標籤用於描述議題生命週期

  • 可操作的:此議題可以由任何人立即解決。如果議題可操作的,就執行操作並發送公關
  • 拆分中:議題的範疇太大,應該將其拆分為較小的可操作部分。帶有拆分中標籤的議題,非常適合用於討論功能的實作細節。
  • 討論中:表示此議題需要討論,而 Yeoman 團隊需要決定是否要將該功能新增到專案。
  • 待確認:此標籤主要用於錯誤類型的議題,直到有人能夠重現該議題為止。務必要新增步驟重現每個錯誤,以便議題可以立即標註為可操作的

類型

專案中可以存在多種類型的議題。主要的議題類型如下

  • 功能:建議新增到專案的新增功能。
  • 錯誤
  • 維護:與專案建置系統、測試、重構、第三方等所有相關事項
  • 文件
  • 元資料:與專案管理相關的議題。權限、發行、變更紀錄等等。

難度

我們使用三個難度級別標註事項:容易中等困難

難度的評級是根據特定議題需要接觸的變動部分/系統部分數量來評估。一個可以透過變更單一方法來修正的議題,就是容易的。但是如果一個議題需要在系統的 3 個部分進行變更,就是困難的。

我們以這種方式評定難度等級,目的是為了讓新貢獻者了解解決議題所需的承諾程度。困難的議題將需要更長時間才能了解 Yeoman 的內部結構,而容易的議題可能僅需要具備一定程度的 Node.js 知識即可。

里程碑

里程碑代表未來的發行版本。

Yeoman 版本遵循語意化版本控制 規格,準確程度盡可能高。這表示,新增的功能將在次要版本中實作。重大變更將在主要版本中新增。而錯誤修正則在修補版本中進行。

這表示某些問題可能會延後,直至我們準備好發佈可整合變更的版本為止。

以下提供一些範例

  1. 新增功能的 Pull Request 可能會延後,直至目前的 Yeoman 版本穩定到足以讓我們專注於下一項次要版本。
  2. 有些問題可能不適合修正,直到主要版本為止,因為它們意含中斷向後相容性。

不過請別太擔心這些。不適合在近期功能版本中修正的問題,不會標記為 可操作

指派

Yeoman 團隊成員可能已經開始進行某項功能。如果是這種情況,我們大部分時間會試著將此成員指派到該問題,好讓所有人都知道有人正在解決這個問題。

如果你覺得要解決問題耗時太久,請隨時對該問題發表評論(或寄送電子郵件給受指派者),提出自行解決的建議。