代码走查(Code Review)25条疑问
这25条疑问就是代码规范的修炼手册,这25条疑问是别人总结出来的,记录在此用于提醒自己。养成在实现业务需求后,及时走查代码,重构完善。
- 代码的注释与代码是否一致?注释是否是多余的?
- 是否存在超过3层嵌套的循环与/或判断?
- 变量的命名是否代表了其作用?
- 所有的循环边界是否正确?
- 所有的判断条件边界是否正确?
- 输入参数的异常是否处理了?
- 程序中所有的异常是否处理了?
- 是否存在重复的代码?
- 是否存在超过25行的方法?
- 是否存在超过7个方法的类?
- 方法的参数是否超过3个?
- 是否有多种原因导致修改某个类?
- 当发生某个功能变化时,是否需要修改多个类?
- 代码中的常量是否合适?
- 一个方法是否访问了其他类的多个属性?
- 某几项数据是否总是同时出现,而又不是一个类的属性?
- switch语句是否可以用类来替代?
- 是否有一类的职责很少?
- 是否有一个类的某些属性或者方法没有被其他类所使用?
- 在类的方法中是否存在如下的调用形式:a.b().c()?
- 是否某个类的方法总是调用另外一个类的同名方法?
- 是否某个类总是访问另外一个类的属性与方法?
- 是否两个类完成了类似的工作,使用了不同的方法名,却没有拥有同一个父类?
- 是否某个类仅有字段和简单的赋值方法与取值方法构成?
- 是否某个子类仅使用了父类的部分属性或方法?
通过代码走查可以提高代码的质量,同时减少Bug出现的几率。但是在小公司中并没有代码走查的过程在这里总结和记录一些代码走查的要求,时刻提醒自己注重代码质量。
代码走查(Code Review)25条疑问相关推荐
- 万字详文告诉你如何做 Code Review
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|机器学习实验室 前言 作为公司代码委员会 golang 分 ...
- 在腾讯,如何做 Code Review?
作者:cheaterlin,腾讯 PCG 后台开发工程师 前言 作为公司代码委员会 golang 分会的理事,我 review 了很多代码,看了很多别人的 review 评论.发现不少同学 code ...
- Code Review的重要性
这几天一直在搞一家客户的产品升级动作,数据的转移已经完成大部分,因为升级主要的目标是处理性能问题,所以我针对性的对将要升级的版本进行了一些操作性能检查,真是不做不知道,一做吓一跳,有一个查询选择人员的 ...
- 在腾讯,如何做 Code Review
作为公司代码委员会 golang 分会的理事,我 review 了很多代码,看了很多别人的 review 评论.发现不少同学 code review 与写出好代码的水平有待提高.在这里,想分享一下我的 ...
- 大厂项目经理分享 Code Review经验
回复[面试题]获取2021年最新java面试题合集- 前言 作为公司代码委员会 golang 分会的理事,我 review 了很多代码,看了很多别人的 review 评论.发现不少同学 code re ...
- 腾讯 Code Review 规范出炉!
来源:腾讯技术工程,作者:cheaterlin,腾讯 PCG 后台开发工程师 前言 作为公司代码委员会 golang 分会的理事,我 review 了很多代码,看了很多别人的 review 评论.发现 ...
- 万字详文告诉你如何做 Code Review!
作者:cheaterlin,腾讯PCG后台开发工程师 来源:腾讯技术工程 前言 作为公司代码委员会 golang 分会的理事,我 review 了很多代码,看了很多别人的 review 评论.发现不少 ...
- 腾讯 Code Review 规范出炉,你还敢乱写代码?
前言 作为公司代码委员会 golang 分会的理事,我 review 了很多代码,看了很多别人的 review 评论.发现不少同学 code review 与写出好代码的水平有待提高.在这里,想分享一 ...
- 在腾讯,我们如何做 Code Review
推荐关注 扫码关注"中生代技术",选择"星标"公众号 重磅干货,第一时间送达!责编:架构君 | 作者:cheaterlin,腾讯 PCG 后台开发工程师 | ...
- 腾讯 Code Review 规范出炉!你还敢乱写代码??
点击上方"Java基基",选择"设为星标" 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2020 超神之路,很肝~ 中文详细注释的开源项目 ...
最新文章
- 制作一个简单的linux
- java web 打印控件_web打印,web打印控件,dotnet web打印控件,java web打印控件,webprint...
- .net中对HTTP请求的两种请求:Get和Post的操作
- 生物学50年难题被DeepMind解决了,蛋白质版“阿法狗”预测结构准确性达92.4
- struts2 集成webservice 的方法
- Makefile使用及多文件gdb 调试
- [强]VC 6.0 可以这样创建对话框
- html5做一个相册_HTML5最新版本介绍
- 分布式消息队列 NSQ 和 Kafka 对比
- Oracle Shared Pool优化思路
- L1、L2、Batch Normalization、Dropout为什么能够防止过拟合呢?
- 使用json解决 《三级联动》(省市县) 含地区编号
- Java多线程编程模式实战指南(一):Active Object模式--转载
- excel的poi和EasyExcel的基本读写
- 烧脑难题:诡异的世界9大悖论
- 使用UVCCamera拍照后zbar与zxing识别图片中的二维码
- SEO重要的是初心不变
- 新三板上市公司突破6000家安防公司103家
- 【mac】【转发】Mac系统升级后,按大小写键没反应了,切换大小写的灯不亮了
- 计算机专业英语1500词TXT,电脑专业英语1500词
热门文章
- tmb100a linux,天猫魔盒Tmb100系列_LetvUi_YYF终极版
- 蓝牙耳机测试软件apk_蓝牙5.0手机如何测试检测分辨?这款免费APP帮大忙
- 十字链表c语言实验报告,矩阵加法(基于十字链表)及C语言代码实现
- linux系统中英文切换
- 给大家推荐一个免费职业评测
- 如何删除.sys的流氓文件
- bt709和srgb_选择用于多用途视频编辑和色彩校正的显示器— sRGB,DCI-P3,REC 709
- python将图片转换成二进制文本逻辑_将python图片转为二进制文本的实例
- amtlib.dll被McAfee删除之后?
- 集成电路设计——闩锁效应