1. 程式人生 > >讀《構建之法》閱讀與思考

讀《構建之法》閱讀與思考

out 功能 blog 行業 概念 資料 過程 Go 發現

讀《構建之法》思考與疑問

1、2與16章

第一章 概論

問題1、2和3



我看了

人類文明要向前發展, 離不開思考、 發現、 構建。 我曾經在微軟亞洲研究院技術創新部工作過七年, 我所在的工程團隊和很多計算機科學家在不同領域一起做項目……這是我在研究院之外的十余年中做得最多的項目類型, 也是這本書的英文名字。 希望讀者看了這一節之後, 不再糾結“科學”和“工程”的問題, 在不同的學習與工作階段, 投入到最適合的項目類型中去。


我的疑問是:想要從事理論研究一定要參與實踐項目嗎,我明白有實踐帶來的經驗能一定程度上更好地研究,但是很多,畢竟理論研究是很困難的,如果再做項目,會不會沒辦法專註一個領域呢?

我查了資料發現,許多著名的計算機科學家一生都是為解決實際問題而驅動著進行思考和設計,如

Edsger Dijkstra ————來自維基百科

What is the shortest way to travel from Rotterdam to Groningen, in general: from given city to given city. It is the algorithm for the shortest path, which I designed in about twenty minutes. One morning I was shopping in Amsterdam with my young fiancée, and tired, we sat down on the café terrace to drink a cup of coffee and I was just thinking about whether I could do this, and I then designed the algorithm for the shortest path.

A year later, he came across another problem from hardware engineers working on the institute‘s next computer: minimize the amount of wire needed to connect the pins on the back panel of the machine.
……


那麽,隨之而來的是更多的困惑,因為我想從事與數學有關的理論工作,我平時應該關註什麽實際問題,什麽才是最適合理論研究的項目類型呢,已及,一般這些項目都由哪些機構負責呢?所以我認為理論到底應該和什麽樣的實踐相結合是非常關鍵的。


第二章 個人技術和流程

問題1



看完這一章之後,我之前很多理所當然的想法得到了糾正,

如果我們不經分析就盲目優化,也許會事倍功半。



但因為書中許多的概念和方法都是第一次知道,很容易就會讓“原來是這樣”的心理掩蓋對一切書本內容保持懷疑的態度。例如,

回歸測試最好要自動化,因為這樣就可以對於每一個構建快速運行所有回歸測試,以保證盡早發現問題。單元測試是回歸測試的基礎。
在專註於模塊基本功能的單元測試之外,還有功能測試—從用戶的角度檢查功能完成得怎麽樣。


初看只會覺得 “噢,原來有兩種測試,單元測試是……回歸測試是……”,而且我看完這一章有一種感覺,那就是在做項目的過程中,無論幹什麽之後都是先測試一下,一個小的修改在復雜的項目裏都是牽一發而動全身,而且在PSP中一位SDE的花在上測試的時間也遠比一位senior student要久,根據我查的資料,

還有 ”極限測試、集成測試、軟體測試……" 等等,
回歸測試帶來的耗費占軟件工程生命周期1/3總費用以上。


所以我認為提高測試的效率,以及精簡測試的流程是很重要的,但是測試都是為了找出問題,否則不過是為測試而測試罷了,那麽我認為呆板的測試流程雖然帶來了規範,但也帶來了浪費,不是最優的做法,現在是否有一種靈活的測試體系,針對不同的軟件類型,不同的需求給出的測試流程呢?而不是統一的測試規範。


第十六章 IT行業的創新



在這一章的開頭,列出了很多似是而非的 “創新的迷思”,這是確實提供了新的角度,其中有些我也比較贊同,但始終不能完全贊同。因為在我看來都只在做一件事,那就是否定絕對性(一……就……;……都……),這當然非常簡單,因為絕對的大部分都是錯的,而且反駁的方式也很簡單,只要舉出真實的反例就好了。而且提供了很多 “當創新已經/快要出現了,我們可以怎麽辦/走進小作坊” 的方法論。

但我認為,創新之所以難得,正是因為它的可能性和偶然性,定義什麽是創新更困難,因為它無法在事前被定義,畢竟在創新成功之前,沒有人能斷言這是創新還是空想,很多定義都是:……獲得了……/……顛覆了……,這些都是完成時。


所以創新的世界觀應該比方法論更重要,畢竟方法只能提供一種可能性,而世界觀裏有更多可能,而且創新並不是為了創新本身,而是為了改變,所以,關註什麽應該被改變,或許是另一種思考。

讀《構建之法》閱讀與思考