谷歌軟件工程文化的主要元素之一就是通過設計文檔定義軟件設計。在開始項目編碼工作之前,軟件系統或應用程序的作者會創建這些相對非正式的文檔。設計文檔記錄了高級實現策略和關鍵設計決策,並且重點記錄了這些決策之間的權衡考慮。
作爲軟件工程師,我們的工作本質上不是生產代碼,而是解決問題。非結構化文本,類似設計文檔的形式,也許是在項目早期解決問題比較好的工具,因爲它易於理解、更簡潔,且以比代碼更高的層次來溝通問題和方案。
除軟件設計的原始文檔外,設計文檔還實現了軟件開發週期中的如下功能:
- 在早期發現設計問題,而那時變更的成本還比較小
- 在組織內圍繞設計達成共識
- 確保考慮到交叉領域的問題
- 將高級工程師的知識擴展到組織中
- 圍繞設計決策形成組織記憶的基礎
- 在軟件設計師的技術組合中充當總結工具
設計文檔的結構
設計文檔是非正式文檔,因此它們的內容不會遵循嚴格的準則。一個首要原則是,針對具體項目可以用任何最合理的形式編寫。
話雖如此,形成的特定結構必定有其價值所在。
上下文和範圍
這一部分會粗略地向讀者介紹新系統是如何構建的以及實際情況如何。這不是需求文檔。請保持簡潔!我們的目標是直接讓讀者瞭解最新情況,但先前的一些情況可以被推測或者能鏈接到詳細信息。這個部分應該完全聚焦於客觀背景事實。
原文鏈接:【https://www.infoq.cn/article/o7076wCBpBkWEwJbtByz】。未經作者許可,禁止轉載。