讀書筆記——1.2.16
首先是第一章,書中例舉出了從小孩玩的紙飛機,到“飛屋”,到萊特兄弟的飛機最後到我們看到的飛機。我想到的是,有的人從興趣出發,覺得某些項目也好,工程也好,需要去實現。有的人放棄了,止步於紙飛機,有的人堅持了,做出了航模,到最後,有人成功實現了飛天夢。但是如果一開始這條路就走不通呢?就像永動機一樣,很多人去嘗試,認為這個裝置將會有劃時代的意義,但是到最後卻被證明了這是不可能存在的。那之前的那些努力還是值得的嗎?拿出來到軟件行業,我也經歷過一次科研立項,我的隊友們一起想了很久關於項目最終要如何實現的問題,結果初期評審之後,換來的只不過是:“別看這個項目沒什麽用,但是它做不出來啊”。一次次的嘗試甚至可能會看到進展,甚至是突破性進展之後,依舊發現項目是不科學的,不可能的。這個時候,到底應不應該放棄?是應該一開始就放棄,還是撞了南墻再回頭?還是說我就是頭鐵,就是要做出來,做不出來也要實實在在地證明給所有人看,這個真的做不出來?
到了第一章的最後,關於 bug 和 feature 的討論,我想是不是可以說明軟件的開發者首先要是一個符合大眾的軟件的使用者?才能明白我為什麽要做這玩意,做出來是為了幹什麽?
關於第二章,接觸到了一個新東西——單元測試。書中講了一些單元測試的必要性、由最了解代碼的人來寫單元測試的理由等等。因為之前並沒有接觸過單元測試這種東西,確實有些陌生,但是也實實在在地理解了至少從優化難度來看單元測試是很重要的一環。(關於單元測試https://baike.baidu.com/item/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/1917084?fr=aladdin)
個人感覺經歷了第二章之後,我們應該學會的是反思。不光從心理上反思,代碼的反思也很重要,測試自己的代碼有沒有畫蛇添足,有沒有南轅北轍。
第十六章,關於創新。看了一章之後,我覺得,對於創新而言,可能這一行業的很多專業人物,或者一些常年接觸這一行業的人,所謂“司空見慣”或者說“屢見不鮮”可能對這一行業的一些不便,或者弊端熟視無睹,因為遇到這種常見困難可能他們可以輕松地解決。但是對於一些“門外漢”來說,這些問題可能就會顯得很麻煩,讓人特別不爽。於是一些“不太懂”的人卻能引領創新。
但是我依舊有第一章的問題,正是因為這些人並不是很專業於這些問題,在創新的過程中可能會費盡心血去解決一個曾經被證明解決不了的問題,這樣有意義嗎?在創新遇到困難時,到底怎樣做才算理智?或者說應不應該理智?畢竟不管是書中列舉的還是為人熟知的,很多成功的,很多創新成功的案例實際上不怎麽理智如果所有人都“理智地創新”的話,又哪來的“創新成功呢”?
此外,關於“衛星電話”這個例子,我同樣感覺到了反思的重要性,以及“軟件的編寫者首先要是一個符合大眾的使用者”這一道理。很多無用功是怎樣產生的,很多失敗的創新是怎樣做的,由此可見一斑。
讀書筆記——1.2.16