Skip to content

第 1 章:引言

系列:软件设计的哲学 · 第 1/22 章
全书导读:00-overview.md


一句话总结

软件设计的目标是降低复杂度;能跑只是及格线,长期可理解、可修改才是专业标准。


核心观点浓缩

  • 复杂度是理解、修改系统时的认知负担,是软件老化的主因
  • Working code isn't enough:功能正确 ≠ 设计合格
  • 好设计让系统随规模增长仍可控,差设计让每次改动都像拆炸弹
  • 本书提供可操作的设计技术红旗清单,非教条方法论
  • 设计应在实现全程持续进行,而非立项时画一次框图就结束

关键概念 / 金句

概念含义
Complexity改一处牵动全局、不知影响范围、读不懂——都是复杂度症状
Design模块划分、接口形状、信息隐藏——日常编码即设计
Working code isn't enough战术式「能跑就交」的反面命题,全书起点

本章在全书中的位置

第 1 章定问题域与价值主张:为何读这本书、评判设计好坏的标尺是什么。第 2 章起进入复杂度定义与具体技法;无此章则后文易沦为「设计模式清单」。


个人思考与启发

接手遗留模块时,先问「新人要多久能安全改这里?」而非「有没有 bug」。若答案以周计,问题往往在接口与边界,不在某行算法。引言把标准从「跑通」抬到「可维护」,对评审文化有直接作用。


与《程序员修炼之道》对照

  • 《修炼之道》第 1 章讲务实哲学与熵;本书引言聚焦复杂度——一个偏心态,一个偏结构,互补
  • 「够好即可」≠「能跑就行」:务实是在约束下负责;本书要求对长期认知成本负责
  • 知识组合投资(读源码、学框架)是降低理解复杂度的慢功夫,与本书目标一致

重点与注意

重点:评判设计优劣的唯一主标尺是复杂度升降。
重点能跑还不够——应成为团队默认共识,而非个人偏好。
注意:本书不是「不写注释」「类越小越好」等流行口号大全。
注意:设计技术要落地到每次 PR,否则只是读后感。


导航00 全书思考 · 下一篇:第 2 章 复杂度的本质

基于 VitePress 强力驱动 | 记录技术与生活