域·实现与构造
GD-H
域组基础进阶高级17 节点
§1组简介
组目录:本质层方法论层技术实践层域·概念与需求域·架构设计域·实现与构造域·测试域·部署域·运维域·演化与弃用域·质量属性域·团队与康威域·方法论主干域·跨域横切·质量属性横切·技术债横切·团队与康威案例层
本组 17 个节点,类型为 域组,域 H,覆盖阶段 基础 / 进阶 / 高级。
§2成员节点目录
| 节点 ID | 名称 | 层/来源 | 阶段 | 简介 |
|---|---|---|---|---|
| ESS-H-01 | 信息隐藏 | 本质 essence | 进阶 | 以「隐藏困难或可能变化的设计决策」作为模块分解判据:每个模块把一类易变决策封装为自己的秘密,接口只揭示尽量少的内部工作,使变更局部化。它规定的是划分依据与边界,而非模块的物理形态或大小。它是模块化有效性的根本来源之一。 |
| ESS-H-02 | 内聚与耦合 | 本质 essence | 基础 | 衡量模块划分质量的两个互补维度:内聚是模块内部元素隶属同一目标的程度,耦合是模块之间相互依赖的程度。目标是高内聚、低耦合,但二者只是启发式方向,并非有普适阈值的绝对指标。它衡量的是结构对变更的承载能力。 |
| ESS-H-03 | DRY 单一知识来源 | 本质 essence | 基础 | 系统内每个知识点应有单一、无歧义、权威的表示,避免同一知识的多份副本各自漂移。它针对的是「知识重复」而非机械的代码重复,核心判据是:一处规则改变时,是否需要在多个位置同步修改。它衡量的是知识的归属是否清晰。 |
| ESS-H-04 | 抽象泄漏 | 本质 essence | 高级 | 所有非平凡抽象都会在不同程度上泄漏其底层实现:性能、故障与边界行为会穿透抽象边界,使用者被迫了解本应被隐藏的细节。这是抽象与封装固有的边界,而非实现缺陷。它要求设计者主动管理而非幻想消除这种穿透。 |
| ESS-H-08 | SOLID 职责划分与替换性 | 本质 essence | 进阶 | SOLID 是一组以职责划分与可替换性为判据的面向对象设计原则族:单一职责约束变更原因,开闭原则要求以扩展而非修改应对变化,里氏替换与接口隔离约束子类型与接口依赖,依赖倒置约束依赖方向。 |
| ESS-H-09 | 设计模式与反模式 | 本质 essence | 进阶 | 设计模式是对反复出现的设计问题所给的可复用解法模板,提供团队共同语言但不保证适用;反模式是初看合理却适得其反的常见解法,二者把设计经验的正反两面固化为可传承的知识。 |
| MTH-H-03 | 战略式编程与持续设计投入 | 方法论 methodology | 进阶 | 一种把系统设计视为贯穿开发全过程的持续投入、而非开工前一次性阶段的编程纪律:以持续、小步的设计改进对抗复杂度的累积,使系统长期保持易于理解与修改。 |
| MTH-H-04 | 代码复审与可读性治理 | 方法论 methodology | 进阶 | 以评审流程把可读性与结构标准组织化、可教学地传播的治理方法:把代码评审从个人偏好检查转为有依据、有导师机制的常规活动,在变更合入前对结构、接口与可读性施加统一约束。 |
| TEC-H-01 | SonarQube 静态分析平台 | 技术实践 technology | 进阶 | SonarQube Server 是面向持续集成的静态代码分析平台,以规则引擎自动检测代码坏味道、缺陷与安全热点,并通过质量门控把分析度量转化为变更准入判断,同时区分整体代码与新代码以支撑增量治理。 |
| TEC-H-02 | SQALE 技术债评估方法 | 技术实践 technology | 高级 | SQALE 是一套以生命周期期望为基准、力求客观可复现地评估源代码质量并量化技术债的方法,由若干基本原则与质量模型、分析模型、指数、指标等组件构成,供组织与厂商实现。 |
| TEC-H-03 | 技术债量化度量指标 | 技术实践 technology | 高级 | 技术债量化度量把代码缺陷折算为可计算的债务规模与比率:以修复成本累加得到技术债额,用技术债比率(债务与开发成本之比)映射可维护性评级,并区分整体代码与新代码以支撑增量治理。 |
| TEC-H-04 | 依赖结构度量与渐进收紧治理 | 技术实践 technology | 高级 | 依赖结构度量与渐进收紧治理把组件间的依赖关系折算为稳定性与抽象度等可计算指标,用归一化距主序列距离定位偏离健康线的组件,并以先告警、后报错的级联阈值在受控节奏内把结构拉回健康区间。 |
| ESS-H-05 | 深模块与浅模块 | 本质 essence | 进阶 | 以“接口复杂度与所提供功能之比”评价模块的两种形态:深模块提供强大功能却只有简单接口,浅模块接口相对复杂却功能不足,未能隐藏显著复杂度。 |
| ESS-H-06 | 组合优于继承与脆弱基类 | 本质 essence | 进阶 | 在复用与扩展中优先采用对象组合而非类继承:继承以暴露父类实现为代价换取复用,组合只依赖被复用对象的接口,从而维持封装边界与替换能力。 |
| ESS-H-07 | 可读性与认知负荷 | 本质 essence | 基础 | 把代码可读性视为一种工程要求:代码被阅读的次数远多于被编写,理解与修改代码的成本由读者所需的认知负荷决定,而非由风格偏好决定。 |
| MTH-H-01 | 重构手法族 | 方法论 methodology | 进阶 | 在不改变可观察行为的前提下,按命名的小步手法持续改善代码内部结构的方法族;以代码坏味道为信号、以测试为安全网,把结构调整为可验证的小步而非大重写。 |
| MTH-H-02 | 信息隐藏模块化分解 | 方法论 methodology | 进阶 | 以「隐藏困难或可能变化的设计决策(secret)」为判据,把同一 secret 相关行为归入一个模块、仅经最小接口交互的分解方法,使变更局部化。 |
§3组内关系图
前置依赖实现依据推导案例印证对比冲突
§4学习路径提示
本组内存在 5 条前置依赖边(prerequisite),推荐先掌握前置知识点,再进入依赖它的节点。
推荐阅读顺序(拓扑序)
DRY 单一知识来源 → 抽象泄漏 → 重构手法族 → 信息隐藏模块化分解 → 战略式编程与持续设计投入 → 代码复审与可读性治理 → SQALE 技术债评估方法 → 技术债量化度量指标 → 依赖结构度量与渐进收紧治理 → 信息隐藏 → SOLID 职责划分与替换性 → SonarQube 静态分析平台 → 深模块与浅模块 → 组合优于继承与脆弱基类 → 设计模式与反模式 → 可读性与认知负荷 → 内聚与耦合
- 信息隐藏 → 内聚与耦合理解信息隐藏是评估内聚耦合的前提
- SOLID 职责划分与替换性 → 设计模式与反模式职责划分与替换性判据是理解模式适用性的前提
- 信息隐藏 → 深模块与浅模块信息隐藏是理解深/浅模块的前提
- 信息隐藏 → 组合优于继承与脆弱基类信息隐藏是判断继承/组合取舍的前提
- 深模块与浅模块 → 可读性与认知负荷深模块降低认知负荷,支撑可读性
入组前置依赖(组外节点 → 本组成员)
- 关注点分离 → 信息隐藏关注点分离是信息隐藏的前提
- 模块化与分解 → 信息隐藏模块化目标是信息隐藏判据的前提
- 模块化与分解 → 内聚与耦合模块划分质量以内聚耦合衡量
- 关注点分离 → DRY 单一知识来源关注点分离促成知识的单一归属