《代码大全2》读书笔记 Week 1
《代碼大全2》第一、二、三章
?????? 隱喻思維在西方是一個熱門的話題,隱喻的認知功能在各個學科正受到越來越多的重視,依照我的理解,其實就是以眾所周知或者理解主體熟悉的事物為符號去將新事物、新概念具象化,與打比方的認知方式有同工異曲之妙。在《代碼大全2》第二章,作者Steve McConnell主要列舉了4種針對軟件工程的隱喻:書法(寫作代碼)、耕作(培養系統)、牡蠣養殖(系統生長)、建造新建筑(建造軟件)。作者認為前兩者已無法、或者說從來都不能準確描述軟件工程,書法暗示軟件開發是一項代價昂貴的試錯過程,而耕作大大低估了開發者對軟件構建的自主控制。而后兩種隱喻得到作者較大的認可。????
?????? 牡蠣養殖隱喻的本體是增量式開發,也就是在開發前期先生成一個盡量簡單、但能運行的版本,不必接受真實的輸入或對數據進行處理,重點在構造軟件的整體框架以支撐逐漸被完善,也就是“生長”的系統。根據個人經驗,這種開發方式對于較大的工程有很大裨益,可以讓開發者對整個軟件的結構有比較清晰的認識并降低修改的成本。最后一種隱喻——建構軟件本質上是適當的多層次規劃,它強調“因地適宜”,根據軟件工程的類型和用戶的需求等等做出多個層次、循序漸進的規劃。
?????? 我非常贊成這一章中智慧工具箱的提議。學習更多的語言和分析方法可以防止我們在遇到問題時不必要地浪費時間。
??????? 第三章用了一整個章節來闡述構建軟件的前期工作,如需求分析和架構設計等,的必要性和重要性。書中讓我很有共鳴的一個原則是令發現錯誤的時間盡量接近引入錯誤的時間,因為錯誤在開發過程中會引發鏈式效應,令后期修復的代價不斷積累。另一個讓我印象深刻的是作者對前期需求分析和后期應對需求變更的建議。開發者和客戶都會在與軟件日積月累的接觸中不斷地調整自己的認知和相應的需求,???? 所以前期不能讓預設的需求束縛住構建過程,有必要留有余地,而在構建過程中,只接受最有價值的新需求。同時,使用能適應變更的開發方法,例如演進原型法和演進交付法能夠大幅提升對需求做出的響應的能力。
轉載于:https://www.cnblogs.com/VIAROW/p/8616487.html
總結
以上是生活随笔為你收集整理的《代码大全2》读书笔记 Week 1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决mysql插入数据时出现Incorr
- 下一篇: unitycrashhandler怎么用