Architecture Decision Record

Active theme: Light

← 決策記錄例子

架構決策記錄:Go 程式語言

標題:採用 Go 程式語言

狀態:已接納

背景

我哋組織一直主要用 Java 程式語言建置網頁應用程式。不過,因為 Java 嘅冗長,以及部分框架嘅複雜度,我哋遇到咗一些挑戰。此外,我哋團隊亦表示有興趣探索現代程式語言,以達到更高效同穩健嘅開發。經過研究之後,我哋認為 Go 可以解決我哋用 Java 所面對嘅問題。

決策

我哋日後會採用 Go 程式語言嚟建置網頁應用程式。

理據

  1. 簡單同易讀: Go 以簡單同簡潔嘅語法見稱。咁樣令程式碼易讀易寫,減低我哋開發過程嘅複雜度。

  2. 高效能同可擴展: Go 會編譯成機器碼,喺伺服器上原生運行。同 Java 等直譯式語言相比,咁樣執行時間更快,效能更好。此外,Go 嘅並行模型可以同時處理多個請求,令佢具備高度可擴展性。

  3. 強大嘅社群支援: Go 有一個充滿活力嘅開發者社群,多年來為佢嘅成長作出貢獻。意味住有大量資源、程式庫同框架,幫助我哋入門並建置穩健嘅應用程式。

  4. 靈活: Go 可以用於前端同後端開發。意味住我哋可以喺開發項目嘅兩個範疇都善用佢嘅優勢。

影響

  1. 培訓: 我哋嘅開發人員需要接受培訓,學習 Go 程式語言同佢嘅細節。

  2. 經驗: 由 Java 過渡到 Go 嘅過程中,我哋可能會遇到一些挑戰。開發人員可能需要一段時間先熟練掌握新語言。

  3. 工具: 我哋需要採用專屬於 Go 嘅新工具同框架。不過,我哋可以善用現有嘅基礎設施,將呢個改變嘅影響減到最低。

  4. 供應商綁定: Go 係開源程式語言,我哋唔會被綁定於任何供應商或者服務提供者。

結論

採用 Go 程式語言會幫助我哋改善開發過程,並建置穩健嘅應用程式。我哋需要投入資源於培訓同工具,去支持呢個過渡,但我哋相信呢個決策嘅好處大過成本。

鳴謝:呢頁由 ChatGPT 生成,之後為清晰度同格式而編輯。