用途:将“能运行的代码”转化为“整洁的代码”,即团队中任何人都能轻松读懂、理解和扩展的代码。适用于编写新代码时选择命名与函数结构、评审 PR 的可读性与可维护性、重构遗留代码、识别并修复代码坏味、统一团队编码标准。
主要能力:按优先级给出七类规则。命名(高优先级):一致、意图明确、具体、可搜索、简短;类用名词、方法用动词、布尔用疑问式、集合用复数。函数(高):短小(尽量 20 行内)、只做一件事、单一抽象层级、参数少(0-2 个,3 个以上用参数对象)、无副作用或显式命名、命令查询分离。代码坏味(高):长方法、大类、长参数列表、基本类型偏执、特性依恋、数据泥团、switch 语句、发散式变化、霰弹式修改、臆测性泛化、死代码、消息链,并给出快速修复方式。格式(中):报纸隐喻,公共 API 在前,调用者在被调用者之上,相关代码靠近。错误处理(中):用异常而非错误码,不返回也不传递 null,快速失败,使用具体异常。注释(中):优先自解释代码,只写“为什么”、警告、带上下文的 TODO、许可证与公共 API 文档。Object Calisthenics(进阶):每方法一层缩进、不用 else、包装基本类型、一等集合、每行一个点、不缩写、实体小、限制实例变量、无 getter/setter。
使用方式:在编写、评审、重构时参照上述规则,并可用文末检查清单自检:新成员能否无需提问就理解、命名是否表意一致、每个函数是否只做一件事、能否顺手修复坏味、注释是否解释为什么、错误处理是否清晰具体、是否让代码比接手时更好。
限制:Object Calisthenics 为进阶练习目标,练习时严格、生产中务实;资料未提供具体安装命令、平台支持、收费方式或效果数据。