# A-Philosophy-of-Software-Design 《软件设计哲学》 [![NHUSne.th.jpg](https://s1.ax1x.com/2020/07/02/NHUSne.th.jpg)](https://imgchr.com/i/NHUSne) ## 目录 #### [前言](./preface) #### [第一章:介绍](./ch1.md) #### [第二章:复杂性的本质](./ch2.md) #### [第三章:工作代码是不够的(战略与战术编程)](./ch3.md) #### [第四章:模块应该是深的](./ch4.md) #### [第五章:信息隐藏(和泄露)](./ch5.md) #### [第六章:通用模块更深入](./ch6.md) #### [第七章: 不同的层,不同的抽象](./ch7.md) #### [第八章: 降低复杂性](./ch8.md) #### [第九章: 在一起更好还是分开更好?](./ch9.md) #### [第十章: 定义不存在的错误](./ch10.md) #### [第十一章: 设计它两次](./ch11.md) #### [第十二章: 为什么写注释?四个理由](./ch12.md) #### [第十三章: 注释应该描述代码中不明显的内容](./ch13.md) #### [第十四章: 选择的名字](./ch14.md) #### [第十五章: 先写注释](./ch15.md) #### [第十六章: 修改现有的代码](./ch16.md) #### [第十七章: 一致性](./ch17.md) #### [第十八章: 代码应该是显而易见的](./ch18.md) #### [第十九章: 软件发展趋势](./ch19.md) #### [第二十章: 设计性能](./ch20.md) #### [第二十一章: 结论](./ch21.md) #### [总结](./summary.md)