1. 程式人生 > >Week2:閱讀筆記與思考

Week2:閱讀筆記與思考

需求變化 應用 是不是 內容 理解 全功能 軟件設計 蘋果 手機

《構建之法》這本書的內容通俗易懂,每一個知識點都有許多事例佐證,閱讀起來不像其他教科書那樣枯燥無聊。但閱讀過第一、二、十六章之後還是產生了幾個疑問,以及更深層次的思考。


第一章

問題1:

第一章第13頁中提到“除了學術水平名列前茅的學校,其他學校的這些院系大部分老師做的都是偏工程方面的研究,大部分學生畢業後也投身於解決具體的工程問題,這跟軟件學院、軟件工程系的研究和培養方向非常雷同”。

據我所知計算機科學專業的設立遠早於軟件工程專業。且計算機科學側重理論科研,軟件工程側重應用實踐,但書中提到的這一現象,是不是一定程度上反應出大部分國內高校的計算機科學專業偏離了設立該專業的初衷,有著急功近利的趨勢,使得沈下心來做理論的學生越來越少?這一現象是不是也與造成國內計算機科學的學術氛圍和能力不及國外,越來越多的學生選擇出國深造有關?

第二章

問題2:

第二章第27頁問答中提到的“如果你的模塊中的某個錯誤處理路徑很難達到,那你也許要想想是否可以把這個錯誤處理拿掉”。

我對這句話的理解是:如果一個處理錯誤的方法幾乎用不到,可以考慮刪除這個方法。然而第一章中舉的飛機的安全功能例子說的是任何一個錯誤都要考慮到,任何一個錯誤處理方法都不能少。兩者之間是否相互矛盾呢?

問題3:

第二章第38頁中提到的一個軟件設計原則“開放-封閉原則”:軟件實體應該是可以擴展的,同時是不可修改的。不允許修改的內容是:對模塊行為進行擴展時,不必改變模塊的本身。

結合書中前面的內容,軟件的需求是經常變化的,如果在軟件的開發中需求變化了,有增有減,原來的模塊有些內容用不到了,根據開放-封閉原則,需不需要在擴展模塊時將需求改變後無用的部分刪除?

第十六章

問題4:

第十六章第344頁提到的例子:研究者提出的新版的鍵盤布局,使用起來比老款鍵盤布局更便捷高效,然而卻沒有得到普及,創新失敗了,原因是人們已經習慣了QWERTY鍵盤,所謂先入為主的觀念。

根據這個例子,我聯想到了手機的發展史,當初諾基亞、摩托羅拉等手機廠商的滑蓋、翻蓋手機幾乎壟斷了手機市場,然而蘋果iphone一代的出現,人們知道了更便捷的觸屏手機,到了iphone4這一代,市場上老式的滑蓋、翻蓋手機幾乎已銷聲匿跡了。同樣是更便捷高效的創新,同樣面臨的挑戰是人們先入為主的觀念,為什麽蘋果成功了,而新款的鍵盤布局卻失敗了,這是為什麽?是否這其中還有其他導致創新成果或失敗的因素在起作用?

綜上,就是我閱讀完第一、二、十六章以後產生的疑問以及對書中內容的思考。

Week2:閱讀筆記與思考