第三章:基本工具
1.純文字的威力
具有良好定義的結構的純文字,用純文字儲存知識,可以獲得自描述的,不依賴於建立它的應用的資料流。
缺點:與二進位制相比所需的儲存空間更大;處理代價高。
優點:保證不過時;槓桿作用;更易於測試。
2.shell遊戲
熟悉shell使自己的生產率提高。
3.強力編輯
最好精通一種可配置、可擴充套件、可程式設計的編輯器,並將其用於所有編輯任務,適當了解其他編輯器。
4.原始碼控制
能夠追蹤到你在原始碼和文件中做出的每一處變動,更好的系統還能追蹤編譯器及os版本,有了適當配置的原始碼控制系統,你就總能返回你的軟體的前一版本,極大地提高了開發效率。
原始碼構建是可重複的,因為你總是可以按照原始碼將給定日期的內容進行重新構建。
5.除錯
除錯的目的是為了解決問題,我們要做的就是修正問題,而不是發出指責。
遇到令人吃驚的bug時,進行修正,確定之前為什麼沒有找出這個bug,考慮你是否要改進單元測試或其他測試,以讓它們有能力找出這個故障。如果bug是一些壞資料的結果,看看這些資料經過了那些層面,是否能盡早的進行隔離。
開始檢視bug前,首先要確保程式能夠成功編譯,把編譯器警告級設定的最高,準確觀察,蒐集相關資料,與發現bug的人進行交談更為直接;必須強硬的測試邊界條件,面面俱到的測,還要測試現實中的使用情況。
使資料視覺化,偵錯程式通常會聚焦於現在的狀態,你有時還會需要觀察程式歲隨時間變化的狀態。
消除bug的過程中二分法較為可靠。
程式設計師修煉之道 從小工到專家
在專案開始之前 需求需要挖掘,而不僅僅是收集。找出使用者為何要做特定事情的原因,而不是他們目前做這件事情的方式。建立需求文件 把形式化的模板做備忘錄 好的需求文件會保持抽象 專案範圍的增大需要被記錄和可追溯,以及可評價 通過統計資訊 需求的收集和設計實現不是單向的線性關係,而是雙向關係。它們是 交付...
程式設計師修煉之道 從小工到專家
基本工具 構建自己的工具庫。使用原始碼控制。除錯bug 找到問題根源 可以快速 復現 bug。跟蹤。向別人解釋程式以找到問題所在。找bug範圍 先自己 確定無誤再找類庫或系統問題。不要固執的認為自己的 沒問題。不要假設,要驗證。注重實效的偏執 放棄寫出完美軟體的偏執。進行防禦性程式設計。合約。規定 ...
程式設計師修煉之道 從小工到專家
這本書的適用範圍可以從初學者到有經驗的程式設計師再到專案經理,作為一本偏向理論與思想的書,書中不可避免有些假大空的地方,再加上作者寫完本書的時間還在1999年,書中的很多方法與標準放在今天也已不再實用。但這些都不能掩蓋它的優秀之處,作者曾在本書完成十年後說過,如果這本書是放在現在編寫,1999年的那...