Skip to content

Commit f329c30

Browse files
committed
feat: add code quality standard
1 parent 1c61de5 commit f329c30

1 file changed

Lines changed: 61 additions & 0 deletions

File tree

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Code Quality Standards Rule
2+
3+
在开发过程中,必须遵循以下代码质量标准。这些标准确保代码的功能性、可维护性和长期健康。
4+
5+
## 1. 功能与正确性 (The "Does it Work?")
6+
7+
这是最基本的要求。代码必须实现它声称要实现的功能。
8+
9+
- **符合需求**:代码是否完整且正确地实现了需求的描述?
10+
- **逻辑正确**:代码的核心逻辑是否正确?是否存在明显的 bug?
11+
- **边界情况**:是否考虑了各种边缘情况(Edge Cases)?例如:
12+
- 输入为空(null)、为 0、为负数或超大数值
13+
- 列表为空或只有一个元素
14+
- 并发访问
15+
- **回归分析**:是否意外地破坏了现有的功能?
16+
17+
## 2. 设计与架构 (The "Is it Well-Designed?")
18+
19+
这是更高一个层面的考量,关乎代码的"骨架"和长期健康。
20+
21+
- **职责单一**:每个函数、类(Class)或模块(Module)是否只做一件事,并且做得很好?
22+
- **抽象合理**:抽象的层次是否恰当?有没有过度设计(Over-engineering)或设计不足(Under-engineering)?
23+
- **重复代码 (DRY)**:是否有不必要的重复代码?(Don't Repeat Yourself)
24+
- **耦合性**:新代码是否与系统的其他部分过度耦合?修改它是否会"牵一发而动全身"?
25+
- **扩展性**:如果未来需求发生变化,这段代码是否容易扩展?
26+
- **模式应用**:是否正确使用了合适的设计模式(Design Patterns)?
27+
28+
## 3. 可读性与可维护性 (The "Can Others Understand it?")
29+
30+
代码是写给人看的,只是顺便让机器执行。
31+
32+
- **清晰命名**:变量、函数、类的命名是否清晰、准确且有意义?(避免使用 `data`, `temp`, `a`, `b` 等模糊命名)
33+
- **简洁性**:是否可以用更简单、更直白的方式实现同样的功能?
34+
- **注释**
35+
- 是否有必要的注释来解释"为什么"(Why)这么做?(代码本身应该说明"做什么")
36+
- 是否有多余的、误导性的或已过时的注释?
37+
- **代码"异味" (Code Smells)**:是否有超长函数、过深的嵌套、巨大的类等不良信号?
38+
39+
## 4. 测试与健壮性 (The "Is it Proven & Safe?")
40+
41+
代码不仅要能工作,还要能被证明是可靠的。
42+
43+
- **测试质量**:如果写了测试用例,测试用例是否有效?它们是在测试正确的逻辑,还是只是为了"跑通"?
44+
- **错误处理**:是否对可能发生的错误(如 API 调用失败、文件读取失败、数据库异常)进行了妥善处理?用户会看到友好的提示,还是程序会崩溃?
45+
46+
## 5. 规范与一致性 (The "Does it Fit In?")
47+
48+
一个项目应该看起来像一个人写的,而不是一群人写的。
49+
50+
- **代码风格**:是否遵循了团队的编码规范(Style Guide / Linter)?(例如缩进、空格、括号位置等)
51+
- **项目约定**:是否遵循了项目已有的约定和模式?(例如,API 的返回格式、日志的记录方式等)
52+
- **无用代码**:是否移除了调试用的 `console.log`、被注释掉的代码块(Dead Code)?
53+
54+
## 6. 性能与安全 (The "Is it Efficient & Secure?")
55+
56+
- **性能**:是否存在明显的性能瓶颈?(例如,在循环中进行数据库查询、不必要的全表扫描、内存泄漏等)
57+
- **安全**:是否引入了常见的安全漏洞?(例如,SQL 注入、跨站脚本 (XSS)、硬编码的密钥、权限校验不严等)
58+
59+
## 执行要求
60+
61+
在模型生成代码时,必须对照以上六个维度进行自检,确保代码质量达标后再提交。

0 commit comments

Comments
 (0)