代码不朽:编写可维护软件的10大要则(C#版)
Joost Visser
张若飞 译
出版时间:2016年10月
页数:168
你有没有在修改其他人代码时感到过沮丧?如今,难以维护的代码已经成为了软件开发中一个很大的问题,导致成本高昂的延期和大量缺陷。本书从实践出发,提供了10条易于实现的原则,可以帮助你开发出可维护且灵活的软件,并且这些原则来自对成百上千个现实系统的分析。
本书由软件改进组织(SIG)编写,不仅提供了对问题清晰准确的解释,还包括如何将理论应用到实践的建议。书中所有示例程序虽然都用C#编写,但是书中的原则也适用于使用其他语言的开发人员。

● 编写短小的代码单元:限制方法和构造函数的长度
● 编写简单的代码单元:限制每个方法中分支点的数量
● 编写代码一次,而不是到处复制含有缺陷的代码
● 通过将接口参数提取到对象中,保持短小的代码单元接口
● 分离关注点,避免产生体积庞大的类
● 保持架构组件松耦合
● 平衡顶层组件之间的数量和大小
● 保证代码库尽可能小
● 对代码库进行自动化测试
● 编写整洁的代码,避免会反映更深层问题的“代码坏味道”

“这些要则都是完全正确的。它们用简单明了、切实可行的方式,向开发人员解释了如何编写出风格统一的高质量代码。”
——George Marinos,希腊国家银行应用架构师
  1. 前言
  2. 第1章 简介
  3. 1.1 什么是可维护性?
  4. 1.2 为什么可维护性很重要?
  5. 1.3 本书的三个基本理论
  6. 1.4 对可维护性的误解
  7. 1.5 评价可维护性
  8. 1.6 可维护性原则的概述
  9. 第2章 编写短小的代码单元
  10. 2.1 动机
  11. 2.2 如何使用本原则
  12. 2.3 常见的反对意见
  13. 2.4 参考
  14. 第3章 编写简单的代码单元
  15. 3.1 动机
  16. 3.2 如何使用本原则
  17. 3.3 常见的反对意见
  18. 3.4 参考
  19. 第4章 不写重复代码
  20. 4.1 动机
  21. 4.2 如何使用本原则
  22. 4.3 常见的反对意见
  23. 4.4 参考
  24. 第5章 保持代码单元的接口简单
  25. 5.1 动机
  26. 5.2 如何使用本原则
  27. 5.3 常见的反对意见
  28. 5.4 参考
  29. 第6章 分离模块之间的关注点
  30. 6.1 动机
  31. 6.2 如何使用本原则
  32. 6.3 常见的反对意见
  33. 第7章 架构组件松耦合
  34. 7.1 动机
  35. 7.2 如何使用本原则
  36. 7.3 常见的反对意见
  37. 7.4 参考
  38. 第8章 保持架构组件之间的平衡
  39. 8.1 动机
  40. 8.2 如何使用本原则
  41. 8.3 常见的反对意见
  42. 8.4 参考
  43. 第9章 保持小规模代码库
  44. 9.1 动机
  45. 9.2 如何使用本原则
  46. 9.3 常见的反对意见
  47. 第10章 自动化开发部署和测试
  48. 10.1 动机
  49. 10.2 如何使用本原则
  50. 10.3 常见的反对意见
  51. 10.4 参考
  52. 第11章 编写简洁的代码
  53. 11.1 不留痕迹
  54. 11.2 如何使用本原则
  55. 11.3 常见的反对意见
  56. 第12章 后续事宜
  57. 12.1 将原则变成实践
  58. 12.2 低层级(代码单元)原则要优先于高层级(组件)原则
  59. 12.3 对每次提交负责
  60. 12.4 下一本书会讨论开发流程的最佳实践
  61. 附录A SIG如何来评估可维护性
  62. 索引
书名:代码不朽:编写可维护软件的10大要则(C#版)
作者:Joost Visser
译者:张若飞 译
国内出版社:电子工业出版社
出版时间:2016年10月
页数:168
书号:978-7-121-29898-1
原版书书名:Building Maintainable Software, C# Edition
原版书出版商:O'Reilly Media
Joost Visser
 
Joost Visser,SIG研究负责人,掌管这家独一无二的认证软件分析实验室。这家实验室根据ISO 25010国际标准,对软件产品质量进行标准化的测量。本书汇集了SIG顾问们从2000年以来在软件质量测量和建议方面的集体智慧和经验。