Code Quality
用途
该技能面向编写可维护、可读、可靠代码的实践,主要适用于需要长期维护的软件项目,尤其是 TypeScript/JavaScript 代码库。
主要能力
整洁代码原则
- 命名:使用有意义的名称,避免晦涩缩写与过时的匈牙利命名法,让类型系统处理类型。
- 函数:保持单一职责,避免一个函数承担过多工作;参数过多时改用对象参数。
- 注释:避免冗余或过时注释,注释应解释“为什么”而非“做什么”,并对非显而易见的行为给出警告,TODO 应带上下文与追踪编号。
SOLID 原则
- 单一职责:将用户数据管理拆分为仓储、校验、邮件、报表等独立类。
- 开闭原则:通过接口与实现类扩展支付方式,而不是修改原有分支逻辑。
- 里氏替换:避免正方形继承矩形带来意外副作用,改用统一 Shape 抽象。
- 接口隔离:拆分庞大的 Worker 接口,使机器人只需实现 Workable。
- 依赖倒置:高层服务依赖 Database、Mailer 等抽象接口,而非具体实现。
代码审查最佳实践
提供审查清单,覆盖正确性、设计、可读性、测试、性能与安全;并给出反馈方式:具体可执行、解释原因、提供替代方案、区分严重程度(nit、suggestion、blocking),同时避免模糊批评、人身攻击与无解释的要求。
代码指标
列出可跟踪指标及目标:圈复杂度低于 10/函数、函数长度低于 50 行、文件长度低于 400 行、测试覆盖率高于 80%、重复率低于 3%。
检查与格式化
给出 ESLint 配置示例,启用 no-unused-vars、no-floating-promises、complexity、max-lines-per-function、max-depth、prefer-const、no-var 等规则;并展示 package.json 中 husky 与 lint-staged 的 pre-commit 钩子配置。
常见陷阱
列出五类高代价错误:过度工程、命名不一致、深层嵌套、魔法数字/字符串、大泥球,并给出严重度、症状、检测正则与解法。
校验规则
提供五条校验:生产代码禁止 console.log、禁止 any 类型、函数参数超过 4 个、TODO 无追踪、深层相对导入,并附类型、严重度、模式、消息、修复建议与适用文件。
使用方式
资料中仅提供原则、示例代码、配置片段与校验规则,未提供具体安装命令或调用步骤,相关使用方式暂未提供。
适用场景
适用于 TypeScript/JavaScript 项目的日常开发、代码审查、重构与质量度量;可在代码风格统一、缺陷预防、架构边界维护等环节参考。
限制
资料中未说明支持的平台、依赖版本、收费与价格等信息,相关内容暂未提供。