codereview

Mobile Preview

codereview

1. 常见代码问题

1.1. stl容器使用问题

1.2. 谓词使用问题

1.3. 空值判断

1.3.1. 常量前置

1.4. 异常捕获

1.5. 低性能编码

1.6. 代码修改影响范围

1.7. 原始逻辑兼容问题

1.8. 缺乏关键日志

1.9. 错误码规范

1.10. 参数安全性检测

1.11. 参数过多

1.12. 同名文件

1.13. 数组越界

1.14. 多重条件

1.15. 跨语言跨系统交互

2. 维护性问题

2.1. 硬编码

2.1.1. 魔数问题

2.1.2. 临时逻辑

2.1.3. 写死逻辑

2.2. 重复代码

2.3. 逻辑数据耦合度

2.4. 方法修改

2.4.1. 原逻辑修改风险注意

2.4.2. 增加新的接口避免互相影响

2.5. 业务之间互相耦合

2.6. 代码层次

2.7. 不用的代码

2.8. 全局变量

2.8.1. 多线程问题

2.8.2. 函数重入

2.9. 缺乏注释

2.9.1. 关键特殊代码注释

3. 复杂问题

3.1. 并发

3.1.1. 死锁

3.1.2. 线程生命周期控制

3.2. 事务控制

3.2.1. 事务性逻辑判断

3.3. SQL优化

3.3.1. 索引

3.3.2. 查询条件

3.3.3. 联合查询

3.4. 安全问题

3.4.1. 加密存储

3.4.2. 权限控制

3.5. 设计问题

3.5.1. 性能问题

3.5.2. 扩展性问题

4. 习惯问题

4.1. 命名问题

4.2. 初始化问题

4.3. 风格统一问题

4.4. 类型转换问题

4.5. 流程分支是否清晰

4.6. 容器遍历的结构更新

4.7. 单行调用括号过多

4.8. 无效日志

4.9. 数据结构层级太多

4.10. 对象作用域

5. 方法论

5.1. 防御式编程

5.2. 契约式编程

5.3. 代码稳定性评估