讀古今文學網 > 程序員必讀之軟件架構 > 代碼未描繪的設計意圖 >

代碼未描繪的設計意圖

進一步深入代碼會幫助驗證你最初的假設正確與否,但也可能留給你一大堆問題。也許你在較高層次明白系統做的事情,但不明白像下面這樣的事。

  • 軟件系統如何融入已有的系統形態;
  • 為什麼會選擇正在使用的技術;
  • 軟件系統的整體結構;
  • 各個組件在運行時部署在哪裡,如何相互溝通;
  • Web層如何「知道」在哪裡找到中間層;
  • 日誌/配置/錯誤的處理/其他採用了什麼方法,在代碼庫中是否一致;
  • 代碼庫中是否使用了通用的模式和原則;
  • 如何添加新功能,在哪裡添加;
  • 棧的安全性是如何實現的;
  • 如何實現可伸縮性;
  • 與其他系統的接口如何工作;
  • 其他。

我曾被要求評審和參與開發沒有文檔的系統。你當然可以從代碼的角度評估大部分問題的答案,但這會很繁重。閱讀代碼的作用始終有限,但某些時候你可能需要向團隊的其他人請教一些問題。如果沒有問對問題,你就得不到正確的答案:你不知道你未知的。