Android开发规范:CodeReview规范(1)

CodeReview目的

============

老生常谈==>>>

代码有这几种级别:1,可编译;2,可运行;3,可测试;4,可读;5,可维护;6,可重用。

通过自动化测试的代码只能达到第3层次,而通过code Review的代码可以上升到更高的层次。

1、提升开发人员代码编写质量

2、现有版本的优化

3、开发人员间代码和业务互相熟悉

CodeReview清单 VS Bad Smell

=========================

以下摘抄自网络:

常规项

  • 代码能够工作么?它有没有实现预期的功能,逻辑是否正确等。

  • 所有的代码是否简单易懂?

  • 代码符合你所遵循的编程规范么?这通常包括大括号的位置,变量名和函数名,行的长度,缩进,格式和注释。

  • 是否存在多余的或是重复的代码?

  • 代码是否尽可能的模块化了?

  • 是否有可以被替换的全局变量?

  • 是否有被注释掉的代码?

  • 循环是否设置了长度和正确的终止条件?

  • 是否有可以被库函数替代的代码?

  • 是否有可以删除的日志或调试代码?

安全

  • 所有的数据输入是否都进行了检查(检测正确的类型,长度,格式和范围)并且进行了编码?

  • 在哪里使用了第三方工具,返回的错误是否被捕获?

  • 输出的值是否进行了检查并且编码?

  • 无效的参数值是否能够处理?

文档

  • 是否有注释,并且描述了代码的意图?

  • 所有的函数都有注释吗?

  • 对非常规行为和边界情况处理是否有描述?

  • 第三方库的使用和函数是否有文档?

  • 数据结构和计量单位是否进行了解释?

  • 是否有未完成的代码?如果是的话,是不是应该移除,或者用合适的标记进行标记比如‘TODO’?

测试

  • 代码是否可以测试?比如,不要添加太多的或是隐藏的依赖关系,不能够初始化对象,测试框架可以使用方法等。

  • 是否存在测试,它们是否可以被理解?比如,至少达到你满意的代码覆盖(code coverage)。

  • 单元测试是否真正的测试了代码是否可以完成预期的功能?

  • 是否检查了数组的“越界“错误?

  • 是否有可以被已经存在的API所替代的测试代码?

代码审查单还可以利用现有的代码检测工具来实现,比如findbugs等等。

同样,代码审查清单也需要不断迭代更新优化,每个团队得有一个CodeReview代码审查清单(CodeReview-checklist)

补充

关于CodeReview清单,另外补充一点:

每个团队都需要有自己的技术选型规范,比如网络请求用什么框架,图片加载用什么框架,Adapter用什么方案等等。

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

  • 15
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值