天天看點

程式員修煉之道 讀書筆記2DRY正交性(解耦)可撤銷性曳光彈原型和便簽領域語言估算

DRY

do not repeat yourself. 這是開發偉大軟體的唯一途徑。 系統中的每一項知識都必須具有單一、無歧義、權威的表示。 make it easy to reuse.

正交性(解耦)

eliminate effects between unrelated things. 消除無關事物間的影響。 我們要設計自足的元件,獨立,具有單一、良好定義的目的,也就是内聚。 項目團隊同樣要正交性。 自問:如果需求變化會影響多少個子產品? 正交的系統答案是一個。 還要和現實世界的變化解耦。不要依賴我們不能控制的事物。

可撤銷性

如果某個想法是你唯一的想法,再沒有什麼比這更危險的事情了。 there are no final decisions.

曳光彈

use tracer bullets to find the target. 本質就是靈活。

原型和便簽

prototype to learn。為了學習而制作原型。

領域語言

語言的界限就是一個人的世界的界限。 program close to the problem domain. 靠近問題領域程式設計。 通過在更高的抽象層次上編碼,獲得專心解決問題領域的自由,并且可以忽略瑣碎的實作細節。

估算

estimate to avoid surprises. iterate the schedule with the code.通過代碼對進度表進行疊代。

繼續閱讀