前段時間看完了《程式設計師修煉之道–從小工到專家》這書。該書沒有涉及什麼很深奧的技術,或者有特別複雜的設計,都是一些來自經驗的總結。它涉及的內容比較廣,涵蓋了整個軟體開發過程中需要注意的地方,從需求分析,到程式編寫測試重構,再到專案管理都涉及。它提倡程式設計師應該擁有良好的素質,必須有正確的觀念,良好的習慣。
作為乙個優秀的程式設計師,編寫出完美的產品是我們一生的追求。但是實際情況中,需要考慮很多不特定因素,如時間、技術、成本等,導致我們沒有辦法一步到位。而且使用者在向你提需求的時候,很多時候他們只有乙個方向,也不清楚具體的細節,不知道自己真正所需要的產品的最終形態。如果你先給使用者乙個不完美,存在瑕疵,但是可用的軟體,讓他們及早使用,他們會向你反饋他們真正的需求,能把你引向更好的最終解決方案。今天了不起的軟體比明天的完美軟體更加可取。
我現在所做的專案就很好的印章了這一點。這是乙個線下售賣收銀系統,由於在專案搭建初期時間特別緊急,我們只能快速設計,快速程式設計,快速上線,然後不斷的迭代,不斷修復各種問題。雖然該專案上線後存在不少的問題,但是至少能夠滿足使用者的核心業務,能夠正常的售賣商品。而且在得到使用者的反饋後,產品在不斷的完善,到目前為止產品已經基於穩定,已經無限接近使用者的真實需求了。以現在的角度來看,這也是乙個成功的專案。
工欲善其事,必先利其器,這個道理中國人都懂。作為乙個優秀的開發人員除了必須熟悉基本的開發工具完,還應該熟悉了解自己所在公司的工具。畢竟公司開發出來的工具就是為了解決員工在實際工作中遇到的一些問題,能幫助員工快速的完成開發、快速定位生產問題等。作者就因為對公司的工具不是特別的了解導致很多任務作都很難往下開展,甚至還導致了bug的出現(痛苦的領悟)。
當然除了以上內容,該書還有很多內容和細節值得我們細細的去品味,如正交性、按合約設計、需求之坑、無處不在的自動化等等。讀完這本書給我最大的感觸是,優秀的程式設計師必須注重實效,培養良好的素質,將正確的觀念當成習慣。以使用者需求為基準,設計可配置的軟體,但不能過分設計。支援拔插式的軟體設計,能讓你的程式更加靈活,更容易應對各種不確定因素。
程式設計師修煉之道 從小工到專家
在專案開始之前 需求需要挖掘,而不僅僅是收集。找出使用者為何要做特定事情的原因,而不是他們目前做這件事情的方式。建立需求文件 把形式化的模板做備忘錄 好的需求文件會保持抽象 專案範圍的增大需要被記錄和可追溯,以及可評價 通過統計資訊 需求的收集和設計實現不是單向的線性關係,而是雙向關係。它們是 交付...
程式設計師修煉之道 從小工到專家
基本工具 構建自己的工具庫。使用原始碼控制。除錯bug 找到問題根源 可以快速 復現 bug。跟蹤。向別人解釋程式以找到問題所在。找bug範圍 先自己 確定無誤再找類庫或系統問題。不要固執的認為自己的 沒問題。不要假設,要驗證。注重實效的偏執 放棄寫出完美軟體的偏執。進行防禦性程式設計。合約。規定 ...
程式設計師修煉之道 從小工到專家
這本書的適用範圍可以從初學者到有經驗的程式設計師再到專案經理,作為一本偏向理論與思想的書,書中不可避免有些假大空的地方,再加上作者寫完本書的時間還在1999年,書中的很多方法與標準放在今天也已不再實用。但這些都不能掩蓋它的優秀之處,作者曾在本書完成十年後說過,如果這本書是放在現在編寫,1999年的那...