SuperAPI AI 工具集

writing-code

写作与研究

查看项目

更新于 10-15 17:26

技能介绍

用途:这是一份代码编写与重构的指导原则,关注代码本身的形态——什么是数据、什么是函数、副作用放在哪里,以及如何让程序读起来像在讲述它做了什么。适用于任何语言的代码编写或结构调整。

主要能力与主张: 数据优先,再在其上写函数。优先使用可打印、可比较、可序列化的普通数据,配合少量命名良好的函数;仅在确实需要生命周期或服务引用时才用类。优先静态纯函数,在 map、filter、reduce 表达更清晰时使用它们,否则用循环。

让类型说话。先写类型,类型即设计;让非法状态无法被拼写出来。类型是待办清单:函数需要某能力时把它作为参数传入,让签名说明还缺什么。取数据而非能力——传入已预订的座位是纯的、可用字面量测试;传入 fetchReservedSeats 则不然,需要 mock。把获取动作推到调用方。

副作用放在边缘。先收集所需、再计算、最后写出结果:不纯、纯、不纯,中间承载决策,外层承载 I/O。核心应大、外壳应薄。预期内的失败(解析、校验、读取外部世界)放进返回类型;程序损坏才抛出。错误应说明发生了什么、在哪里、怎么办,包装时保留原因。

命名、模块与叙事。函数、模块、参数、变量名是凌晨三点有人(可能是你)要读的故事;一个概念一个词,处处一致。模块应命名清晰、解耦、中等大小,按“一起变化”而非“看起来相似”来分解。结构有机生长,不要预先抽象,也不要拖到最后才组织。

重复与出错的代价。重复比错误的抽象更便宜:先复制,等模式在三次真实使用中显现再提取,且提取稳定通用的部分。每一行都是要维护的行;最好的代码是没写的代码,其次是无需迁移即可删除的代码。写能完成任务的最小改动,或让代码比原来更干净——但不要在同一提交里两者都做。

顺序:先让它工作,再让它正确,最后让它快——按此顺序,多数代码从不需要第三步。慢即是稳,稳即是快,一次只做一件事。

失败模式:把类当命名空间;一切字符串化;向纯代码注入能力;吞掉错误;过早抽象;贫血式拆分;炫技。

限制:资料未提供具体安装命令、平台、收费或价格信息。