花了一周的時間,看完了這本書,看得我心潮起伏。對裡面那幫傢伙的評價也起起落落。最終的結論是:外國大牛也不過如此。
別看他們名頭那麼響,做了那麼多超有名的專案,實際的能力(軟體開發能力與專案管理能力)看來相當有限。感想很多,想到一點說一點吧。
以前有一篇文章叫「謙卑的程式設計師」,有這麼一段話:「優秀的程式設計師很清楚自己的能力是有限的,所以他對待程式設計任務的態度是完全謙卑的,特別是,他們會象逃避瘟疫那樣逃避『聰明的技巧』」。但是,那些所謂的大牛,卻一點的不知道這一點。一開始他們就決定要做乙個桌面軟體,然後打算用python+wxwidgets來實現。到後來我才知道,這幫傢伙居然乙個都不懂python的桌面開發。那個他們偉大的夢想——要打通所有的資料間的隔閡——究竟意味著多少技術難度,他們心裡也一點數都沒有。總之,這些「大牛」,讓人想到的是自我感覺良好的「半瓶醋」。他們的目標太偉大了,這是我在看到這本書的中段的時候的體會。技術要最新潮的,軟體要革命性的,要平台化以支援外掛程式的,使用者體驗要最好的,**要開源的,唯獨工期是不確定的。越是偉大的目標,越是需要強有力的風險控制能力。再引用一遍範總的格言:「慾望不要超過能力」。而他們,就根本沒有意識到自己的能力嚴重不足。
乙個team中,牛人太多了!如何才能良好的合作呢?他們永遠在開會,卻始終議而不決,大家都是管過「大團隊」的。要他們幾個人合作起來coding,就太難了。
還有乙個證明他們不是「大牛」的證據是,他們缺乏技術決斷力,那幾年裡流行起來的很多技術,他們都有隨波逐流的衝動。比如他們嘗試過rdf來描述資料;嘗試過python的zope;憧憬過p2p(但是他們的團隊裡沒有乙個懂p2p的);企圖從wxwidgets轉到mozilla的xul。。。怎麼說呢?這樣的搖擺和見異思遷,簡直是典型的初哥的作風。真正的大牛,對於技術的趨勢,以及如何在專案中運用,心中都自有判斷的。
如果是我來做這個專案的話,首先就不會在這麼多個方面同時冒險。其次,在專案開始之前會先安排乙個技術可行性的研究階段。最重要的一點,我會早點把不稱職的「大牛」開走。
程式設計師修煉之道 從小工到專家
在專案開始之前 需求需要挖掘,而不僅僅是收集。找出使用者為何要做特定事情的原因,而不是他們目前做這件事情的方式。建立需求文件 把形式化的模板做備忘錄 好的需求文件會保持抽象 專案範圍的增大需要被記錄和可追溯,以及可評價 通過統計資訊 需求的收集和設計實現不是單向的線性關係,而是雙向關係。它們是 交付...
程式設計師修煉之道 從小工到專家
基本工具 構建自己的工具庫。使用原始碼控制。除錯bug 找到問題根源 可以快速 復現 bug。跟蹤。向別人解釋程式以找到問題所在。找bug範圍 先自己 確定無誤再找類庫或系統問題。不要固執的認為自己的 沒問題。不要假設,要驗證。注重實效的偏執 放棄寫出完美軟體的偏執。進行防禦性程式設計。合約。規定 ...
程式設計師修煉之道 從小工到專家
這本書的適用範圍可以從初學者到有經驗的程式設計師再到專案經理,作為一本偏向理論與思想的書,書中不可避免有些假大空的地方,再加上作者寫完本書的時間還在1999年,書中的很多方法與標準放在今天也已不再實用。但這些都不能掩蓋它的優秀之處,作者曾在本書完成十年後說過,如果這本書是放在現在編寫,1999年的那...