软件设计的哲学 A Philosophy of Software Design

2024-11-14T00:00:00Z | 2分钟阅读 | 更新于 2024-11-14T00:00:00Z

软件设计的哲学 A Philosophy of Software Design

内容简介

斯坦福教授、Tcl 语言发明者 John Ousterhout 的著作《A Philosophy of Software Design》,自出版以来,好评如潮。按照 IT 图书出版的惯例,如果冠名为“实践”,书中内容关注的是某项技术的细节和技巧;冠名为“艺术”,内容可能是记录一件优秀作品的设计过程和经验;而冠名为“哲学”,则是一些通用的原则和方法论,这些原则方法论串起来,能够形成一个体系。正如”知行合一”、“世界是由原子构成的”、“我思故我在”,这些耳熟能详的句子能够一定程度上代表背后的人物和思想。用一句话概括《A Philosophy of Software Design》,软件设计的核心在于降低复杂性。

本书深入探讨了软件设计中的核心问题:如何将复杂的软件系统分解为可以相对独立实现的模块(例如类和方法),从而降低其复杂性并提高开发效率。本书首先介绍了软件设计中的基本问题,即复杂性的本质。其次,讨论了有关如何处理软件设计过程的“哲学”问题,如通用设计的重要性、与《代码整洁之道》中设计哲学的对比,以及如何将重要的东西和不重要的东西区分开等内容。最后,总结了在软件设计过程中应遵循的一系列设计原则,以及一系列识别设计问题的警示信号。

本书适合软件工程师、计算机科学专业的学生、教育者、对软件设计和开发感兴趣的自学者和技术管理者阅读。通过应用本书中的思想,读者可以最大限度地降低大型软件系统的复杂性,从而更快地以更低的成本编写软件,并构建更易于维护和增强的系统。

章节目录

  • 前言
  • 第 1 章 介绍
  • 第 2 章 复杂性的本质
  • 第 3 章 工作代码是不够的
  • 第 4 章 模块应该是深的
  • 第 5 章 信息隐藏(和泄漏)
  • 第 6 章 通用模块更深入
  • 第 7 章 不同的层,不同的抽象
  • 第 8 章 降低复杂性
  • 第 9 章 在一起更好还是分开更好?
  • 第 10 章 定义不存在的错误
  • 第 11 章 设计它两次
  • 第 12 章 为什么写评论呢?四个理由
  • 第 13 章 注释应该描述代码中不明显的内容
  • 第 14 章 选择的名字
  • 第 15 章 先写评论
  • 第 16 章 修改现有的代码
  • 第 17 章 一致性
  • 第 18 章 代码应该是显而易见的
  • 第 19 章 软件发展趋势
  • 第 20 章 设计性能
  • 第 21 章 结论
  • 总结

© 2024 - 2025 i68,爱六八,链接你我他-i68.ltd-随笔

关于我

i68,爱六八,链接你我他

我是一名热爱技术的开发人员,在这里我会记录一些关于技术或者生活上的事情。