关于 principle-minimize-reader-load
用于从读者追踪行为和理解状态所需的精力来评估代码可维护性的技能,帮助开发者编写更易理解的代码。
主要功能
- 01评估间接层级
- 02评估可变状态
- 03优先使用纯函数和局部状态
- 04在边界说明不变量
- 05采用 30 秒理解测试
适用场景
- 01审查拟新增的抽象
- 02减少代码中的隐式状态
- 03重构难以追踪的代码
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ poteto/ plugins --skill principle-minimize-reader-load安装后在 Claude Code 中输入/principle-minimize-reader-load确认已加载。
详细介绍
尽量减轻读者负担
可维护性取决于读者理解代码所需付出的努力。关注两个维度:
- 追踪层级。 从问题到答案之间有多少层间接关系。
- 需要记住的状态。 读者必须在脑中保留多少隐藏或可变的上下文。
原因: 代码被阅读的次数远多于被编写的次数。代码行数、圈复杂度和“整洁架构”都只是替代指标。真正重要的是读者负担。这两个维度彼此独立。一个有 50 个全局变量的扁平文件,可能和一个包含 6 层适配器的调用栈一样难以推理。两者都要把控。这相当于面向人的 保护上下文窗口:读者的工作记忆同样有限。
实践方式:
- 合并没有实际价值的层级: 只有一个调用方的包装器、没有第二种实现的适配器,以及为一个从未到来的未来而引入的间接层。将它们内联。
- 缩小状态作用域: 优先使用纯函数(返回值优于修改状态)、局部变量优于字段、字段优于模块状态、模块状态优于全局变量。能推导就不要同步。
- 在边界处命名不变量, 而不是让每个使用方都重复说明,这样读者只需了解一次。
- 添加一层或一项状态之前,先问:它能否在其他地方至少同等程度地减轻读者负担?
检验标准: 新读者能否在 30 秒内回答“X 从哪里来?”和“什么会改变 X?”如果不能,就精简层级或状态。
评论
支持 Markdown