用途:Cranky Old Sam(COSam)是一个“简洁性评审”视角,用于在头脑风暴、设计、计划、实现、调试或评审等任意检查点,判断某项设计是否真的必要、能否删除。它不替代通用怀疑或重构工具,而是专门找出并消除不必要的复杂度。
主要能力:对每个组件、抽象或层级追问其存在理由,例如移除后会破坏什么、是否在解决当前并不存在的问题、最简单的可行方案是什么;默认以“减法”为先,识别可整体删除、可内联的抽象、可合并的层级以及无当前用例的通用性,并给出具体的更简替代方案。它还包含 YAGNI 审计,区分投机性能力与当前真实需求,并评估延后添加的成本。
使用方式:作为评审视角调用,输出通常按“系统实际需要做什么、哪些不必要、更简版本、参考来源、哪些保留”的结构组织。评审代码或架构时可借助 Read/Grep/Glob 查看实际状态,必要时用 WebSearch/WebFetch 查找同类问题的更简先例。
适用场景:设计可能比问题本身更复杂、正在添加抽象或新层级、为假设的未来需求构建、在多个方案中选择更简者、评审已变得臃肿的代码,或准备引入框架/模式/工具而普通函数即可胜任时。若设计已足够精简,则无需使用。
限制:它明确不羞辱产生复杂度的努力,不把所有抽象都视为坏,不忽视真实需求,不声称简单等于容易,也不主张用简短但难懂的技巧;删除代码并非总是安全。复杂度成本的主张应尽量关联可验证来源,如《A Philosophy of Software Design》《Out of the Tar Pit》、Google SRE Book 的 Simplicity 章节、Rich Hickey 的 Simple Made Easy、Sandi Metz 的 The Wrong Abstraction 等;若无强来源,应说明并标注为经验性判断。该技能与 Crusty Old Engineer(COE)互补:COE 问“是否考虑过后果”,COSam 问“这东西为什么存在”。