【百度实习日记】Day 21:爱上CR

对自己写的每一行代码负责

CodeReview,在我来百度实习之前,我对CR一无所知。传说中代码是需要审查的,因为你写的代码不仅仅是自己在看,但是在学校里将近3年看似漫长的代码生涯中,我几乎没有怎么看过别人的代码,也没有怎么让别人看自己的代码。个中缘由主要是自己看不进去别人的代码,别人也懒得看自己的代码,于是CR就变成了传说中的事情。近期的三周内,我每一周都在进行CR,确切的说,我开发代码的时间并不长,很多的时间都在修改代码。写代码不仅仅是要实现功能,更重要的是这个功能能不能用更好的方式实现,或者这个功能能不能用更加友好的形式展示在所有有可能阅读到这段代码的RD、QA甚至任何人面前。这个很难。平哥说,改改吧,对写代码有好处。然后写个CR不通过给我。他说的很对,在新人阶段,不仅仅是写代码实现功能,还要多去在意代码的内涵。我挺感谢国伟、平哥、涛哥、学兵、守彬他们在这几周内帮我CR提出的各种意见,我知道了自己写的代码真正是会有人看的,并且还会被更多的人看到,我需要为自己的代码负责。责任意识真的很重要。国伟说写代码的时候一定不能说“我感觉”,“应该是这样”,“差不多”等等这些词语,是就是,不是就不是,就是这么简单,代码是不会骗你的,为什么能成,为什么不成,代码就在那里,你需要非常确定问题究竟出在哪里,而不是靠猜,靠瞎蒙,靠“我觉得”。这种思路我很喜欢,说的很对,我必须也要这么对待代码。总的来说,CR有很多很多好处的,这些东西都需要有意识。我来写一下我对CR的认识:

1、CR能够提高代码质量
这一点不多说,当你自己对自己写的东西再三考虑以后,低级错误一般不会出现。

2、CR能够进行交流
工程师之间怎么交流?靠代码啊!看看别人怎么写,给出自己的意见,怎么处理会比较好,不改会有什么不足,会出什么问题,OK,看代码就好了啊。

3、CR可以了解一个人的思维方式
同样的功能他究竟是怎么写的,怎么写就体现出他是怎么思考的,为什么我是那么写的,我的思路和他的似乎很不同,为什么要这么处理。慢慢的你就知道代码的价值就是一个人思维的体现。

4、CR可以驱使自己更加对代码负责
当自己知道自己的代码会被别人看的时候就会多想一想,自己这么写会不会被吐槽,这么写有没有可能不符合规范,别人那么处理我这么处理能行不?自己在写代码的时候会多想,CR通过以后再出问题就是自己的责任了,这种意识很重要。

5、CR可以尽可能多的将bug杀死在开发阶段
一份代码经过了多人的检测bug 还能出现的话,这bug也是够神奇。

6、CR可以分担风险
当出了问题时候,写代码的人当然是第一负责人,但是CR过程中所有接触的人都要对此承担责任,因为你看过,没有发现问题,CR是不合格的。这时候个人的风险就会降低。

7、CR可以让个人、团队、公司的代码库趋向更优
一个人的代码经过CR以后提高了代码质量,一个团队的代码是各种提高了质量的个人代码的集合体,整个公司的代码是所有大小团队的高质量代码的集合体,这样公司的代码库就会逐渐趋向最优化,对公司来说是一劳永逸的事情。

总之,CR很重要。不管你今后有没有向百度这样能够有晚上的CR流程,请你自己做好CR,对自己的代码负责,也就是对自己负责。做为一个软件工程师,职责不就是写好代码么?

刘凯宁
20150625

Share

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*


*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>