第1部分:基础

第1部分基础:从直接套用经验推进到先定义问题、识别复杂度、补齐前置知识并验证设计取舍。

学习目标

  • 能从基础问题写出目标、约束和成功证据,而不是直接套用熟悉方案。
  • 能识别本质复杂度、前置知识缺口和设计取舍,并说明它们如何影响构建活动。
  • 能用小实验和独立复核验证一个基础模型何时成立、何时失效。

为什么需要这一部分

基础不是一组脱离项目的定义,而是把复杂问题缩小到可判断的入口。先说系统要解决什么、受什么约束,再识别哪些复杂度无法消除、哪些知识需要补齐,最后用最小构建任务验证设计。缺少这条链,经验会把未知隐藏起来。

先避开三个基础误区

核心合同与操作术语

不能靠换语法消除;需要显式列出。必须绑定证据;把基础理解接到实践。

目录节点逐项深读

第1部分 基础

本部分的阅读合同是:先定义问题,再识别复杂度与知识缺口,选择一个取舍,最后交付能被别人重放的最小构建任务。基础原则缩小搜索空间,却不取消当前系统的约束。

最小可重放实现

problem = state_goal_constraints(input)
complexity = separate_essential_from_accidental(problem)
gap = name_missing_prerequisite(complexity)
decision = compare_alternatives(gap, constraints)
artifact = build_minimum_test(decision)
record(artifact, boundary, reviewer)

正常轨迹验证模型;边界轨迹改变约束;故障轨迹跳过问题定义直接套方案;复位轨迹恢复原输入并重新比较。最小产物应能说明为什么接受某个取舍,也能说明什么时候要重选。

先预测,再操作证据实验

先预测基础问题、复杂度或设计取舍改变后哪一个节点会先变化,再只切换一个场景。组件展示的是基础决策链,不是对项目复杂度的数值评级。

第1部分 基础 · 证据实验

基础问题 → 复杂度 → 前置知识 → 设计取舍 → 可验证构建

固定版本、输入和观察窗口,只改变一个条件;先预测首个偏离,再用同一基线复位。

结构条目也必须连接到可复查证据标题负责定位,合同、输入、结果和复位负责裁决1基础问题先定义目标当前节点2复杂度识别难点可复核3前置知识补齐缺口可复核4设计取舍留下理由可复核5可验证构建重放结果可复核基线:目标、复杂度、前置知识与设计理由一致,并有最小验证任务。证据合同:输入 · 预期 · 实际 · 首个偏离 · 复位结果当前场景:正常路径

练习与答案

练习

问题 1:定义基础问题。 一个团队说“需要更好的架构”,请改写成可验证的目标。

问题 2:区分复杂度。 业务规则很多时,哪些部分不能只靠换代码风格解决?

问题 3:验证取舍。 如何证明一个设计取舍不是“最佳实践”口号?

术语表

名词解释

本章出现的专业名词,用大白话再讲一遍。

基础问题
包含目标、输入、约束和成功证据的最小问题定义。
本质复杂度
由问题域、数据、并发或外部环境产生的不可消除难度。
前置知识缺口
当前模型需要但尚未掌握、可通过实践补齐的知识。
设计取舍
在目标、约束、成本和替代方案之间的可解释选择。
最小构建任务
用固定输入验证模型和取舍的小型实现或实验。

本页小结

基础的正确顺序是定义问题、识别复杂度、补齐前置知识、说明取舍,再用最小构建任务验证。原则只有在当前约束和证据中落地,才成为可交接的工程知识。

资料与写作方式声明

本章以Steve McConnell, Code Complete, Second Edition权威目录界定学习范围,并结合正文列出的技术资料独立重写;不宣称复现原书正文,也不沿用原作表述。

原作版权归作者与出版社所有;本站原创教学结构与表述仅供学习交流。

讨论

评论区加载中…