首页 > 代码库 > 让你提前认识软件开发(45):代码的第一印象
让你提前认识软件开发(45):代码的第一印象
第3部分 软件研发工作总结
代码的第一印象
我们都很注重给别人的第一印象,也有很多书籍教我们怎样给别人留下一个美好印象的。确实,如果我们第一眼看到某个人,就觉得很不爽,那么一定会在心理上产生抵触,以后再见到他,会有一种疏远的感觉。也正因为如此,当今社会交往中的“面子工程”很重要,不管怎样,先撑足了自己的脸面再说。
代码也一样,也会给别人留下或好或差的印象。当我们看到优美的代码时,会有一种想继续研究下去的欲望,甚至会有一种觉得很享受的感觉。相反,当我们看到丑陋的代码时,就会咬牙切齿,因为它不仅不利于阅读,还会浪费我们很多时间,降低我们做事的效率。人人都想写出好的代码,就像大家都想考试取得好成绩一样。但是,在实际工作中,有很多因素使得我们心有余而力不足,想把事情做好,结果却事与愿违。
一般说来,代码给我们的第一印象有如下几种:
排版工整 VS 排版不工整
我们打开一个代码文件的时候,最先看到的就是其排版怎样,这也是最直观的感觉。当代码排版工整时,我们很容易找出其条理和逻辑,会很快理解其到底要实现什么功能;而排版不工整的时候,我们的眼睛会觉得很累,进而影响了我们的思维。
排版工整的代码形式如下:
代码段A
代码段B
代码段C
代码段D
排版不工整的代码形式如下:
代码段A
代码段B
代码段C
代码段D
命名规范 VS 命名不规范
在看完排版之后,我们就会看到每个函数和变量的命名。由于一般项目的代码行数都比较多,我们不可能花很多时间去理解每个函数和变量到底是何用意,到底是拿来做什么的。这就要求我们在编码的时候,使函数和变量的命名具有自说明性,让它们自己告诉读者是做什么用的,而不是要别人花大量时间去研读后才能知道。这在一定程度上反映了开发人员的态度和专业化程度。
例如,一个处理消息的函数,命名为ProcessMsg和FunctionA,哪个更好呢?显然是前者。我们只要一看到其名字,就知道它是做什么用的。
再如,有三个变量,命名为LoopFlag、MaxNum、SumOfTwoNum,我们就能一下子明白它们有何用途。第一个变量用于作为循环标志,第二个变量用来存放最大数,第三个变量用来存放两个数之和。这太明显了,你都可以不用去问元芳,自己就能搞清楚。而如果同样三个变量,命名为i、j、k,你就无法一眼看出它们到底有什么用,还要花大量的时间去阅读代码,甚至用几个小时的时间,你还不知道它们有何用途。这时,你的老大来问你事情做得怎样,你照实一说,他便说你无能。其实你是“哑巴吃黄连”,怪就怪别人没有把代码写好。
注释得当 VS 注释不得当
第一眼看到代码,我们还会注意到其是否有注释,注释多还是少。这也是很直观的。
如果代码实现的功能较为复杂,那么添加注释是必不可少的。在恰当的地方,使用恰当的注释,能够让读者觉得思路豁然开朗,他们会默默地在心里感激你。注释过少或没有注释是不行的,就像我们吃饭一样。如果一碗青菜里面什么也没有,你会觉得很乏味,没有食欲。如果放上一点辣椒酱,就会觉得食欲倍增。不管你信不信,反正我是信了。
但是,注释也不能过多,不能将有用的代码掩盖住了,不能够喧宾夺主,让真正实现功能的代码成了陪衬。马克思教导我们“凡事都要有个度”,就是这个道理。
良好的注释形式如下:
// 注释A
{
语句块A
}
// 注释B
{
语句块B
}
// 注释C开始
语句D
语句E
语句F
// 注释C结束
有了代码给我们的好的第一印象,接下去的工作就要好办多了。在实际开发中,我就有这样的经验:当接手到优美的代码时,自己就会为之振奋,会花费较少的时间而将任务完成得很好。我想,没有人想接手一个烂摊子,不仅影响开发进度,还影响心情。也许你当天是高高兴兴来上班的,但好心情就毁于烂代码之手。你说,是值,还是不值?
为了给别人留下好印象,我们一定要首先让自己的代码给别人一个好的第一印象。这也是培养团队凝聚力的一个很好的方法。
(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,微信号:245924426,欢迎关注!)