闭卷说清“代码评审看什么”的对象、规则、制品和一个失败反例。
软件工程 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷说清“小型PR与评审吞吐”的对象、规则、制品和一个失败反例。
闭卷说清“坏味道不是自动罪名”的对象、规则、制品和一个失败反例。
闭卷说清“表征式重构与安全网”的对象、规则、制品和一个失败反例。
闭卷说清“命名、抽象与认知负担”的对象、规则、制品和一个失败反例。
闭卷说清“技术债登记与偿还”的对象、规则、制品和一个失败反例。
闭卷说清“评审文化与心理安全”的对象、规则、制品和一个失败反例。
核心:批量越小,理解成本和缺陷隐藏空间越低,但切片必须仍具端到端意义;规则:PR应有单一决策主题、明确测试证据和可独立回退边界;应能围绕“把一次大改拆成兼容接口、双写观测、流量切换和旧路径删除四个可回退PR”交付可复核制品。
核心:评审先查行为、风险和证据,再看可读性与风格;规则:作者说明意图与风险,评审者给出可执行问题并区分阻断与建议;应能围绕“订单改动先核对不变量、兼容、迁移、测试和监控,再检查命名与重复”交付可复核制品。
核心:修改遗留代码前先用表征测试记录现有可观察行为,再小步改变结构;规则:每一步保持外部行为,若要修缺陷先用失败测试明确行为变更;应能围绕“为旧账单生成器保存代表性输入输出快照,逐步提取计算阶段并持续对比”交付可复核制品。
核心:重复、长函数、过大模块是变化风险信号,是否重构要结合变化频率和错误历史;规则:以维护风险和认知负担解释重构,不用指标阈值机械裁决;应能围绕“三处税率逻辑经常同时修改且两次漏改,证据支持提取统一策略;一次性迁移脚本则可保持局部”交付可复核制品。
核心:技术债是为短期收益接受的未来成本,需要本金、利息、触发条件和所有者;规则:不把所有缺陷叫债;债务决策必须说明收益、风险、利息证据和退出计划;应能围绕“临时同步调用缩短上线两周,却在峰值传播故障;登记替代方案、监控和季度偿还窗口”交付可复核制品。
核心:好抽象压缩稳定概念,坏抽象把偶然相似绑在一起;规则:命名表达领域意图与单位;抽象应让调用者少记规则而非多学术语;应能围绕“把canRefundAt(time,order)替代散落布尔式,但不把退款和取消因字段相似塞进万能流程”交付可复核制品。
核心:严格评审针对制品和风险,不针对人格;团队要允许暴露未知和撤回错误;规则:冲突围绕可观察证据解决;辱讽和身份压制本身是交付风险;应能围绕“评审者用‘这个并发路径如何保证幂等’代替‘你怎么又写错’,作者可请求共同走查”交付可复核制品。