CodeReview的一些原则
2024-10-07 04:35:18
架构/设计/常规角度:
单一职责原则
一个类只能干一个事情,一个方法最好也只干一件事情。一个类既干UI的事情,又干逻辑的事情,这个在低质量的代码里是很常见。
行为是否统一
- 缓存是否统一
- 错误处理是否统一
- 错误提示是否统一
- ……
3. 代码污染
代码里有没有对其他模块的强耦合
4. 重复代码-->应该抽取
5. 面向接口编程
6. 健壮性
- 是否考虑线程安全
- 数据访问是否一致性
- 边界处理是否完整
- 逻辑是否健壮
- 是否有内存泄漏
- 有没有循环依赖
- 有没有野指针
- 是否检查了数组的“越界“错误
- ……
7. 错误处理
8. 效率/性能
- 关键算法的时间复杂度多少?有没有可能有潜在的性能瓶颈
- 程序对频繁消息和较大数据等耗时操作是否处理得当
代码风格角度:
可读性
衡量可读性的标准就是: reviewer 能否非常容易的理解这个代码。
命名
- 命名对可读性非常重要
- 是否跟系统属性命名造成冲突
- 英语用词尽量准确一点,必要时可以查字典
3. 函数长度/类长度
- 函数太长的不好阅读
- 类太长了,检查是否违反的 单一职责 原则
4. 注释
恰到好处的注释,不是注释越多越好
5. 参数个数
不要太多,一般不要超过 3 个
最新文章
- [LeetCode] Copy List with Random Pointer 拷贝带有随机指针的链表
- hdu5317 RGCDQ (质因子种数+预处理)
- .htaccess更改目录下的默认主页
- DEDE调用频道封面{dede:field:content/}内容方法
- IntentFilterDemo
- Java模拟登录系统抓取内容【转载】
- [译]GotW #6b Const-Correctness, Part 2
- 从MongoDB说起
- JFFS2文件系统的移植
- [BZOJ4198] [Noi2015] 荷马史诗 (贪心)
- javascript语法之String对象
- 使用命令行执行jmeter的方法
- Window中的Docker 拉取Mysql镜像 并在本地Navicate链接
- 5)协程二(yeild from)
- IdentityServer4.AccessTokenValidation
- 使用jdom进行xml解析,网络抓包
- 第三百六十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本查询
- 在centos7 ubuntu15.04 上通过bosh-lite 搭建单机环境cloudfoundry
- [原] corePlot 类库与iOS自带类库使用方法对比(很多开源代码都有这个特点)
- Towards Accurate Multi-person Pose Estimation in the Wild 论文阅读