命名生成器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_c283aad7/gy6。
技能介绍
解决什么问题
当代码库中混用 User、Account、Member,或出现 DataProcessor2、HandleStuff 这类名字时,阅读成本会迅速上升。这个技能解决的问题不是“取一个好听的名字”,而是让新名称与周围系统保持一致:先理解相邻模块、文件、接口和数据结构的命名方式,再为待命名概念生成能融入现有约定的候选。
核心能力
它不会凭空抛出一个英文名,而是按以下方式工作:
- 先检查 nearby naming conventions:包名、类名、函数名、变量名、接口字段和测试目录中的模式。
- 再明确 concept 的 responsibility、scope 和 audience:它是对外 API,还是内部实现细节?调用者是谁?生命周期多长?
- 优先选择 boring, specific 的名称,避免 broad 或 metaphorical 名称。
- 避免把
implementation details写进名字,尤其是这些细节可能随重构变化时。 - 当选择主观性较强时,输出 3-7 个候选,并说明每个名称的 tradeoffs。
好名字的标准
Good names make misuse harder. 名称应回答“这个对象代表什么”,而不是“当前代码如何产出它”。因此,OrderReceipt 通常比 OrderPrinter 更稳定;RefundPolicy 比 RefundLogic 更贴合领域;InvoiceSnapshot 也比 InvoiceDataFromDb 更容易长期使用。
适用边界
它适合在已有代码库或正在形成的约定中做命名评审,不适合替代领域建模;如果上下文非常模糊,它给出的候选也需要人来验证。不要把它当作命名数据库,也不要期待它为所有缩写、遗留接口和跨团队冲突提供唯一正确答案。
使用场景
- 重构已有模块时,需要重命名类和函数,并让新名称符合所在文件、包和接口的现有约定。
- 给新接口或数据字段起名时,想避免把当前实现细节写进名字,为后续重构留出空间。
- 当类名或接口名有多个候选且选择较主观时,需要列出三到七个方案并说明各自取舍。
- 新项目启动阶段,接口和模块命名尚未定型,需要先观察相邻代码风格再给出贴合方案。
适合人员
- 后端开发工程师:给新接口或遗留模块补充命名时,希望名称符合周边代码风格且不绑定实现细节。
- 前端或客户端开发工程师:给组件属性、状态变量或配置项命名时,想与现有文件和接口保持一致。
- API 设计者或技术作者:评审接口草案时,需要候选名称及取舍说明,方便与团队讨论最终选择。
- 小团队负责人:想约束新代码的命名风格,避免出现含义过宽或依赖实现细节的临时名称。