《程式設計師修煉之道》7 重複的危害 讀書筆記

2021-05-21 11:20:32 字數 911 閱讀 2457

維護工作貫穿整個開發過程。比如需求變化、環境變化,這些都要求我們對軟體進行維護。在開發的過程中要遵循dry原則,才能讓軟體的維護更容易。dry原則是:

tip 11  don』t repeat yourself!

知識(可以認為是需求、規範等)會不斷的變化。那麼在系統中,遵循「系統中每一項知識都必須具有單

一、無歧義、權威的表示」,就會讓維護更簡單、軟體更可靠。比如乙個**簿系統,「什麼樣的號碼是有效號碼」這就是個知識,那麼對這個知識的表述,在系統中只應該出現一次。可以把他放在乙個函式中。如果將來這個知識有變化了,只要在這個函式中進行修改,從而避免遺漏。

重**生的原因有:強加的重複、無意的重複、無耐心的重複、開發者之間的重複。

強加的重複是環境要求的,看上去似乎無法避免。比如「多個目標平台各自需要自己的編譯語言、庫以及開發環境」,那麼這時候似乎必然會造成知識重複。但其實也有解決辦法。比如編寫**生成器、合理實用注釋、文件自動生成。這些工具我還不是很懂,以後慢慢研究。

對於注釋,這裡講的比較好。把低階的知識放在**中,把注釋保留給其他的高階說明。注釋說明目的和目標,**才描述怎麼做。絕對沒有理由在這兩種檔案之間重複函式或類頭注釋。注釋不能過多。

無意的重複:比如類中有幾個屬性石重複的。那麼這需要仔細設計,在設計上避免知識重複。但有時為了效率,需要快取資料以避免重複昂貴的操作。訣竅是使影響區域性化。在c++中,總是用set/get函式讀寫物件屬性,這將使未來增加功能(比如快取)變得更容易。

無耐性的重複:比如直接拷貝現有**進行修改已達到自己需求。程式設計師自身需要訓練自己,努力克服。

開發者之間的重複:要有清晰的設計、強有力的技術專案領導、在設計中進行得到充分理解的責任劃分。建立良好的平台和氛圍,使開發者主動交流。在原始碼樹種指定**區域,用於存放實用例程和指令碼。善於閱讀他人的原始碼和文件。

tip 12  make it easy to reuse

《程式設計師修煉之道》讀書筆記

第1章 你的知識資產 隨著你的知識的價值降低,對你的公司或客戶來說,你的價值也在降低。管理知識資產與管理金融資產非常相似,管理金融資產基本遵循 1.嚴肅的投資者定期投資 作為習慣 2.多元化是長期成功的關鍵 3.聰明的投資者在保守的投資和高風險 高回報的投資之間平衡他們的資產 4.投資者設法低買高賣...

程式設計師修煉之道 讀書筆記

注重實效的程式設計師的特徵 care about your craft 關心你的技藝 think about your work 思考你的工作 1 注重實效的哲學 我的 被貓吃了。負責 破窗理論。軟體的熵 定期為你的知識資產投資 2 注重實效的途徑 dry don t repeat yourself...

《程式設計師修煉之道》讀書筆記

出了問題後,要提出各種解決方案的選擇,而不是找藉口 不要說事情做不到,要說明接下來做什麼來挽回局面 我們看到過整潔 執行良好的系統,一旦窗戶開始破裂,就相當迅速的惡化 不要留著破窗戶不修 發現乙個bug就修復乙個,如果沒有足夠的時間進行恰當的修理,就用木板先訂起來 或許你可以先把 注釋起來,或是顯示...