一. 前言
本文有感于大佬不厌其烦多次的code review,确实让人受益良多,颇多感激难以言语表达,只能默默记在心里。本文将从写代码和帮别人过代码两个角度来记录感悟,希望对大家都能有所帮助。
二. Show leader the code
对程序员来说,代码就是自己的名片,也是自己的最好证明,所以一定要对代码有所追求。套用某部YY小说里的一句台词:“世界上没有纯净的铁,只有发现不了杂质的人”,追求代码的完美是毕生的事。
关于代码规范,该部分属于程序员基本素养,但是绝大多数人做的都不算好。细谈代码规范其实可以包括以下部分
- 代码风格、空行、命名规范等基本代码规范。该部分应该和项目组保持一致,每写一行代码都需要严格遵守,刻入肌肉记忆之中
- 代码架构、代码组织方式、模块间调用。该部分首先应和项目组保持一致,其次应该注意一些基本原则,如高内聚低耦合,KISS等。该部分涉及到了设计模式、软件架构等的相关知识,比较好的推荐书籍有《代码整洁之道》,比较好的网络课程推荐极客时间的《设计模式之美》和《许式伟的架构课》。
- 代码性能。有人说代码性能不算代码规范,但是实际上追求低时间、空间复杂度是程序员的基本素养,在自己力所能及的范围内,应该努力提升代码的性能,将其作为基本功而不是炫技或者高级技巧。
关于如何跟老大做好code review
- 首先代码自己自测完毕功能正常是基本要求
- 其次在过代码之前应该把一些简单的问题自己解决掉,如基本代码规范、不需要的参数、多余的LOG打印等。这些如果等到review的时候再发现,一方面浪费了双方宝贵的时间,另一方面也容易留下不好的印象。
- 对代码的时候可以按照版本控制工具的差异逐个排查,也可以按照流程进行。重点在于自己要清楚所有的思路,自己改过的地方所有相关的东西都要弄清楚,不要留下含糊不清的地方,要有责任感。
- 最后做好标签和记录,方便对完代码之后修改,也方便自己从中汲取营养努力成长
关于多人配合完成功能
- 最基本的要求是了解他人的工作内容,知道他做了些什么
- 一个优秀的程序员要有主人翁意识,做事不要分是不是自己的,别人的代码如果来不及完成、没办法游戏的完成,需要想办法帮助其完成或者自己帮忙完成。
关于review后续跟进
- review中发现的错误应及时处理
- 处理完之后再次自测,自测完之后如果有空可以再次review,确认没有问题
- 最后的最后,犯过的错误一定不要犯第二次,这是态度问题。
三. Show me the code
在和老大讨论代码的过程中,也汲取到了一些如何给别人进行code review的技能。
- 强大自己。只有自己精通代码规范、代码架构,才能够称职的帮别人做code review。这需要丰富的经验和知识,而这一切来源于平时的积累。每一次对代码、每一次做需求,都需要多想想为什么,而不是简简单单完成任务即可。要多思考如何写出更优秀的代码,现有代码是否还有可提升空间。
- 细心谨慎。对代码的时候不要敷衍了事,而是应该认认真真的把好关,这是一个leader的责任感,帮别人对代码需要把当成自己的代码一样爱惜,每行每句的认真分析、认真优化,努力提高代码质量。
- 每一次的指导都是学习。在指导别人的过程中,自己首先可以加深对代码规范的理解,其次可以加深对相关项目、源码的了解,有时候还能从别人的代码里学到一些新的东西。求知若愚,不放过每一分每一秒的成长机会。
最后的话
作为一名靠代码吃饭的“打工人”,对代码还是要有点追求的。像热爱生命一样的热爱代码,追求卓越,成功就会和你不期而遇。All is well。