書很薄,只有兩百來頁,但是內容不少。首次閱讀覺得只能領悟其中一二。翻譯得挺生硬,將就著看。
整本書都是在講注重實效的程序員。
回顧知識點,歸納給自己看:
第一章、注重實效的哲學
1、對自己的代碼負責,出現問題時要提供解決方案而不是找借口;
2、保持代碼整潔,不要容忍“破窗戶”;
3、注意變化,讓其可視、可控;
4、權衡系統完成度,讓用戶參與,適時止步;
5、堅持學習,批判思考,為自己投資;
6、進行有效交流,提高自己影響力;
第二章、注重實效的途經
1、DRY原則,不要重復要復用;
2、正交性原則,和解藕差不多吧;
3、讓決策可撤銷,讓其靈活;
4、“曳光彈”:先完成一部分可用功能再集成其他功能;
5、制作原型(不太懂);
6、領域語言(不太懂);
7、學會估算,把握進度;
第三章、基本工具
介紹純文本、shell編輯器、源碼控制、調試、代碼生成器;
第四章、注重實效的偏執
1、按合約設計,用文檔說話;
2、確保找bug時不造成破壞;
3、斷言;
4、適當使用異常;
5、平均分配資源;
第五章、彎曲,或折斷
1、解耦;德墨忒爾法則
2、元程序設計:使用元數據配置
3、解決時間耦合:提高并發性
4、解除視圖與模型的耦合;
5、黑板(不太懂)
第六章、當你編碼時
1、避免靠巧合編程(清楚知道你所寫);
2、估算算法速率,選擇合適的;
3、重構,早重構、常重構;
4、編寫易于測試的代碼,為測試而設計;
5、不要使用你不理解的向導代碼;
第七章、在項目開始之前
1、挖掘需求,建立文檔,站在用戶的角度,抽象設計;
2、感覺發現新方法解決問題,做適量準備,不要陷入規范陷阱;
3、不要做形式方法的奴隸;
第八章、注重實效的項目
1、注重實效的團隊會清楚實效的哲學;
2、盡可能使用自動化;
3、早測試,常測試、自動測試;
4、關注文檔,把文檔作為開發一部分;
5、溫和地超出用戶的期望;
6、接受挑戰、傳播知識,在自己作品上簽名;