减少代码熵Skill reducing-entropy

减少代码熵技能专注于通过手动删除和重构来最小化代码库大小,以提高代码质量和可维护性。该技能强调最终状态而非过程,偏向删除冗余代码以减少熵,适用于代码优化、重构和减少技术债务。关键词:代码优化、删除冗余、减少熵、代码库管理、重构技能。

架构设计 0 次安装 0 次浏览 更新于 3/20/2026

name: reducing-entropy description: 仅限手动使用的技能,用于最小化总代码库大小。仅在用户明确请求时激活。通过最终代码量衡量成功,而非努力。偏向删除。

减少熵

更多代码滋生更多代码。熵累积。此技能偏向于最小的可能代码库。

核心问题: “代码库在之后看起来如何?”

开始之前

references/加载至少一种心态

  1. 列出参考目录中的文件
  2. 阅读frontmatter描述以选择适用的
  3. 加载至少一个
  4. 说明加载了哪一个及其核心原则

在完成此操作之前不要继续。

目标

目标是最终代码库中的总代码更少 – 不是现在写更少的代码。

  • 编写50行代码删除200行代码 = 净收益
  • 保留14个函数以避免编写2个 = 净损失
  • “无变更”不是目标。更少的代码才是目标。

衡量最终状态,而非努力。

三个问题

1. 解决这个问题的最小代码库是什么?

不是“最小的改变是什么” – 而是最小的结果是什么。

  • 这能否是2个函数而不是14个?
  • 这能否是0个函数(删除功能)?
  • 如果我们这样做,我们会删除什么?

2. 提议的更改是否导致总代码减少?

计算更改前后的行数。如果之后 > 之前,拒绝它。

  • “更好组织”但更多代码 = 更多熵
  • “更灵活”但更多代码 = 更多熵
  • “更清晰的分离”但更多代码 = 更多熵

3. 我们可以删除什么?

每次更改都是删除的机会。问:

  • 这使什么变得过时?
  • 什么只是因为我们在替换的东西才需要的?
  • 我们最多能移除什么?

红旗警示

  • “保留现有的” – 现状偏见。问题是总代码,而非变更。
  • “这增加了灵活性” – 灵活性为了什么?YAGNI(你不需要它)。
  • “更好的关注点分离” – 更多文件/函数 = 更多代码。分离不是免费的。
  • “类型安全” – 值得多少行?有时运行时检查以更少的代码获胜。
  • “更容易理解” – 14个东西不比2个东西更容易。

何时不适用

  • 代码库已经对其功能最小化
  • 您处于有强约定的框架中(不要对抗它)
  • 监管/合规要求强制某些结构

参考心态

references/以获取哲学基础。

要添加新心态,见adding-reference-mindsets.md


偏向删除。衡量最终状态。