首页 > 代码库 > 让你提前认识软件开发(45):代码的第一印象

让你提前认识软件开发(45):代码的第一印象

第3部分 软件研发工作总结

代码的第一印象

 

        我们都很注重给别人的第一印象,也有很多书籍教我们怎样给别人留下一个美好印象的。确实,如果我们第一眼看到某个人,就觉得很不爽,那么一定会在心理上产生抵触,以后再见到他,会有一种疏远的感觉。也正因为如此,当今社会交往中的“面子工程”很重要,不管怎样,先撑足了自己的脸面再说。

        代码也一样,也会给别人留下或好或差的印象。当我们看到优美的代码时,会有一种想继续研究下去的欲望,甚至会有一种觉得很享受的感觉。相反,当我们看到丑陋的代码时,就会咬牙切齿,因为它不仅不利于阅读,还会浪费我们很多时间,降低我们做事的效率。人人都想写出好的代码,就像大家都想考试取得好成绩一样。但是,在实际工作中,有很多因素使得我们心有余而力不足,想把事情做好,结果却事与愿违。

        一般说来,代码给我们的第一印象有如下几种:

        排版工整 VS 排版不工整

        我们打开一个代码文件的时候,最先看到的就是其排版怎样,这也是最直观的感觉。当代码排版工整时,我们很容易找出其条理和逻辑,会很快理解其到底要实现什么功能;而排版不工整的时候,我们的眼睛会觉得很累,进而影响了我们的思维。

        排版工整的代码形式如下:

       代码段A

        代码段B

        代码段C

        代码段D

 

       排版不工整的代码形式如下:

       代码段A

                           代码段B

             代码段C

代码段D

 

        命名规范 VS 命名不规范

        在看完排版之后,我们就会看到每个函数和变量的命名。由于一般项目的代码行数都比较多,我们不可能花很多时间去理解每个函数和变量到底是何用意,到底是拿来做什么的。这就要求我们在编码的时候,使函数和变量的命名具有自说明性,让它们自己告诉读者是做什么用的,而不是要别人花大量时间去研读后才能知道。这在一定程度上反映了开发人员的态度和专业化程度。

        例如,一个处理消息的函数,命名为ProcessMsgFunctionA,哪个更好呢?显然是前者。我们只要一看到其名字,就知道它是做什么用的。

        再如,有三个变量,命名为LoopFlagMaxNumSumOfTwoNum,我们就能一下子明白它们有何用途。第一个变量用于作为循环标志,第二个变量用来存放最大数,第三个变量用来存放两个数之和。这太明显了,你都可以不用去问元芳,自己就能搞清楚。而如果同样三个变量,命名为ijk,你就无法一眼看出它们到底有什么用,还要花大量的时间去阅读代码,甚至用几个小时的时间,你还不知道它们有何用途。这时,你的老大来问你事情做得怎样,你照实一说,他便说你无能。其实你是“哑巴吃黄连”,怪就怪别人没有把代码写好。

 

        注释得当 VS 注释不得当

        第一眼看到代码,我们还会注意到其是否有注释,注释多还是少。这也是很直观的。

        如果代码实现的功能较为复杂,那么添加注释是必不可少的。在恰当的地方,使用恰当的注释,能够让读者觉得思路豁然开朗,他们会默默地在心里感激你。注释过少或没有注释是不行的,就像我们吃饭一样。如果一碗青菜里面什么也没有,你会觉得很乏味,没有食欲。如果放上一点辣椒酱,就会觉得食欲倍增。不管你信不信,反正我是信了。

        但是,注释也不能过多,不能将有用的代码掩盖住了,不能够喧宾夺主,让真正实现功能的代码成了陪衬。马克思教导我们“凡事都要有个度”,就是这个道理。

        良好的注释形式如下:

      // 注释A

       {

          语句块A

       }

 

       // 注释B

      {

         语句块B

      }

 

     // 注释C开始

    语句D

    语句E

    语句F

     // 注释C结束

 

       有了代码给我们的好的第一印象,接下去的工作就要好办多了。在实际开发中,我就有这样的经验:当接手到优美的代码时,自己就会为之振奋,会花费较少的时间而将任务完成得很好。我想,没有人想接手一个烂摊子,不仅影响开发进度,还影响心情。也许你当天是高高兴兴来上班的,但好心情就毁于烂代码之手。你说,是值,还是不值?

       为了给别人留下好印象,我们一定要首先让自己的代码给别人一个好的第一印象。这也是培养团队凝聚力的一个很好的方法。

 

 

 

(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,微信号:245924426,欢迎关注!)