Standard for Public Code

← Bundle policy and source code ← 政策與原始碼要合捆 ← Bundle policy and source code Welcome contributors → 歡迎貢獻者 → 歡迎貢獻者 →

目次

  1. 需求規定
  2. 測試方式
  3. 公共政策制定者:需要的工作
  4. 管理人員:需要的工作
  5. 開發人員與設計師:需要的工作
  6. 延伸閱讀

程式基底要可重複使用且可移植

編寫可重複使用且可移植的程式碼,讓政策制定者、開發人員與設計師等,能重複使用、測試與改善目前已開發的內容,並將改善貢獻 回程式基底中,如此可提高品質、降低維護成本、增強可靠性。

以重複利用為前提籌劃設計程式基底,更容易與多方共享程式基底的目標使命、願景與範圍等。多方開發與使用的程式基底, 更可以從能自我運作的社群中獲益。

以文件記錄周全的模組構成程式基底,能夠改善重複使用與維護的能力。以文件清楚記錄用途的模組,更容易在另一種情境中重複利用。

原始碼不依賴任何貢獻者、供應商或部署底下的特定情況專用基礎架構,則其他任何貢獻者都能測試該原始碼。

需求規定

  • 程式基底「必須」開發成能在不同情境中重複使用。
  • 程式基底「必須」獨立於任何採用保密、無法揭露、專有或非開放式授權的軟體或服務,以供執行與瞭解。
  • 程式基底「應該」有多方單位使用。
  • 發展路線圖「應該」有多方單位的需求影響。
  • 程式基底開發「應該」由多方單位協作。
  • 「應該」使用組態設定方式以將原始碼調整成能適應各情境的特定需求。
  • 程式基底「應該」能夠在地化。
  • 原始碼與其文件「不應該」包含特定情況專用的資訊。
  • 程式基底模組「應該」以使其能夠在其他情境中重複利用的模式撰寫文件。
  • 軟體「不應該」要求僅有單一供應商能提供的服務或平台。

測試方式

  • 與另一組織單位角色與您相似的人確認,看他們是否能利用程式基底,以及需要怎麼進行。
  • 確認程式基底不需要用到任何專有或非開放式授權的軟體或服務,就能夠執行。
  • 若程式基底處於早期開發階段,尚未準備好正式上線,則檢查是否有想要尋求協作者的意圖跡象。
    • 或是如果程式基底非常成熟與穩定,鮮少需要修正、改善或貢獻:
      • 檢查是否有多方單位,或是有在多種情境下正使用程式基底。
      • 檢查是否有以文件記錄協作所做出的成果,以及有編列相關預算。
    • 若是沒有,則:
      • 檢查是否有多方單位,或是有在多種情境下正使用程式基底。
      • 檢查程式基底貢獻者是否來自多方單位。
  • 檢查程式基底檔案與送交版次歷史紀錄中,不包含特定情況專用的資料。
  • 檢查軟體是否可以在不使用單一供應商服務或平台的情況下,正常部署與執行。

公共政策制定者:需要的工作

  • 為您的政策撰寫清楚且足夠詳細的文件,讓他人即使不是處於同個原始背景情境也能夠理解。
  • 確保程式基底有將貴組織單位列為已知使用者。
  • 找出貴團隊想要協作的其他組織單位。

管理人員:需要的工作

  • 確認利害關係人與業主能夠瞭解,程式基底是以重複利用為明確目標,因而得以減少程式碼技術債,並讓程式基底可以永續發展。
  • 確認您的團隊與其他團隊能相互協作。

開發人員與設計師:需要的工作

原始碼應該設計成:

  • 能讓其他使用者與組織單位可以重複利用,而不受地方環境影響,
  • 能解決通用性質問題,而非特定問題,
  • 以邏輯上具有意義且獨立的模組構成,
  • 如此讓類似組織單位中要面對近似問題的人,都可以採用這套解決方案(或其中一部份)。

確保程式基底文件中,有說明程式的組建日期與執行時期的依賴項目。如果您的情境需要部署至專有平臺上,或者要用到專有組件,則請確保協作者可以在不用到這兩者的情況下,就能進 行開發、使用、測試、部署等。

在每份送交版次中,審查人員要確認其中不含特定情況專用的資料,像是主機名稱、個人與組織單位資料、代符與密碼等。

延伸閱讀