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