Code Review(代码审查)-推荐

Code Review是什么?

Code Review是一种用来确认方案设计和代码实现的质量保证机制,通过这个机制我们可以对代码、测试过程和注释进行检查。

Code Review主要用来在软件工程过程中改进代码质量,通过Code Review可以达到, 在项目早期就能够发现代码中的BUG。

Code Review 主要 Revivew 什么?

代码设计/构思方面:

1、单一职责原则(SRP)

这是经常被违背的原则。一个类只能干一个事情 , 一个方法最好也只干一件事情。 比较常见的违背是一个类既干 UI 的事情,又干逻辑的事情 , 这个在低质量的客户端代码里很常见。

2、行为是否统一

1.比如缓存是否统一,错误处理是否统一, 错误提示是否统一, 弹出框是否统一 等等。

2.同一逻辑 / 同一行为 有没有走同一 Code Path?

3、代码污染

代码有没有对其他模块强耦合 ?

4、重复代码

主要看有没有把公用组件,可复用的代码,函数抽取出来。

5、开放封闭原则(OCP)

就是好不好扩展。 Open for extension, closed for modification.

6、接口隔离原则(ISP)

使用多个隔离的接口,比使用单个接口要好。

7、面向接口编程 和 不是 面向实现编程

主要就是看有没有进行合适的抽象, 把一些行为抽象为接口。

8、健壮性

1.对 Corner case 有没有考虑完整,逻辑是否健壮?有没有潜在的 bug?

2.有没有内存泄漏?有没有循环依赖 ?(针对特定语言,比如 Objective-C) ?有没有野指针?

3.有没有考虑线程安全性, 数据访问的一致性

9、错误处理

有没有很好的 Error Handling?比如网络出错,IO 出错。

10、改动是不是对代码的提升

新的改动是让代码质量继续恶化,还是对代码质量做了修复?

11、效率 / 性能

1.客户端程序 对频繁消息 和较大数据等耗时操作是否处理得当。

2.关键算法的时间复杂度多少?有没有可能有潜在的性能瓶颈。

12、可读性 / 可维护性

1.字段、变量、参数、方法、类的命名是否合理。

2.字段、变量、参数、方法、类的注释是否完整。


如何进行Code Review?

1.多问问题。多问 “这块儿是怎么工作的?” “如果有 XXX case,你这个怎么处理?”

2.每次提交的代码不要太多,最好不要超过 1000 行,否则 review 起来效率会非常低。

3.当面讨论代替 Comments。 大部分情况下小组内的同事是坐在一起的,face to face 的 code review 是非常有效的。

4.区分重点,不要舍本逐末。 优先抓住设计,可读性,健壮性等重点问题。

Code Review应该注意什么?

1.作为审查者:代码审查是一种学习,是表扬,是获得反馈,是一种十分社交性的活动。代码审查应该是有趣的,不要让它变的无聊。

2.作为开发人员:代码审查是针对代码,不是针对你。不要把代码审查当成互相讽刺的论坛和相互批判的工具。反而,代码审查是提高你的一种路径。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容

  • AtWiredrive, we do a fair amount of code reviews. I had n...
    civic星星之火阅读 1,166评论 0 3
  • error code(错误代码)=0是操作成功完成。error code(错误代码)=1是功能错误。error c...
    Heikki_阅读 3,353评论 1 9
  • 今天是我的生日,除了老妈大清早发微信祝福我生日快乐,其他的孩子啊老公啊朋友啊,似乎没有一个能想得起今天是我的生日,...
    月亮上的洋葱阅读 369评论 0 0
  • 中秋第二天。桐桐感冒在家,咳嗽呕吐,很不舒服也很焦躁地一直哭。晚上开着车带着她到处找药,娄底这小地方却没有猴耳环消...
    赫墨思阅读 114评论 0 0
  • 1.别去找截图的方法了,直接将UIView对象转成图片就完事了 分享自己搞去
    biyu6阅读 1,187评论 0 1