好文分享 — Kraken Technologies: How we organize our very large Python monolith
覺得我們的內容實用嗎? MyApollo 電子報讀者募集中!歡迎訂閱電子報!
程式碼管理就是對抗複雜性(complexity)的過程。
你有想過 1 個擁有 27,637 個模組、超過 28,000 個檔案的 Python 專案怎麼管理嗎?以上數字來自 Kraken Technologies 這家公司,他們的 codebase 跟 Google 同樣都採用 monolith 做法,也就是所有程式碼都放置在同 1 個 repository 。
“Kraken Technologies: How we organize our very large Python monolith” 1 文給我們揭示 2 個管理超大型 monolith repo 的核心做法,頗值得作為參考:
- 用 layering 技巧將程式碼按照相依(dependency)原則做分層管理,打破程式碼、模組之間複雜的引用情況
- 用 import linter 強迫團隊遵守 layering 的遊戲規則(import linter 是一項工具,可以制定 import 的規則進行掃描)
也就這 2 個核心做法,使得 Kraken 管理超過 28,000 個檔案的 Python 專案成為可能,有興趣了解詳情的話,可以詳細閱讀原文。