让你提前认识软件开发(45):代码的第一印象
来源:互联网 发布:金川公司网络学校app 编辑:程序博客网 时间:2024/05/01 05:09
第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结束
有了代码给我们的好的第一印象,接下去的工作就要好办多了。在实际开发中,我就有这样的经验:当接手到优美的代码时,自己就会为之振奋,会花费较少的时间而将任务完成得很好。我想,没有人想接手一个烂摊子,不仅影响开发进度,还影响心情。也许你当天是高高兴兴来上班的,但好心情就毁于烂代码之手。你说,是值,还是不值?
为了给别人留下好印象,我们一定要首先让自己的代码给别人一个好的第一印象。这也是培养团队凝聚力的一个很好的方法。
- 让你提前认识软件开发(45):代码的第一印象
- 让你提前认识软件开发(45):代码的第一印象
- 让你提前认识软件开发(34):数据库的维护
- 让你提前认识软件开发(50):软件需求
- 让你提前认识软件开发(18):C语言中常用的文件操作函数总结及使用方法演示代码
- 让你提前认识软件开发(2):软件开发工程师常用的工具软件
- 让你提前认识软件开发(4):破除几个有关软件开发的错误观念
- 让你提前认识软件开发---学习者的软件开发经验总结
- 让你提前认识软件开发(40):既要写好代码,又要写好文档
- 让你提前认识软件开发(1):序言
- 让你提前认识软件开发(11):localtime与GetLocalTime
- 让你提前认识软件开发(14):程序中的算法
- 让你提前认识软件开发(25):数据库简介
- 让你提前认识软件开发(32):数据库索引
- 让你提前认识软件开发(37):研发流程初探
- 让你提前认识软件开发(42):性能测试
- 让你提前认识软件开发(43):软件产品升级流程
- 让你提前认识软件开发(47):同行评审
- unix为什么不喜欢线程?
- 抢凶芳搅肇渤卓善净切废募
- 蓉脚卣内掏瀑值统湃谟热刀
- 5.图像处理与计算机视觉:基础,经典以及最近发展 计算机视觉
- 读书笔记
- 让你提前认识软件开发(45):代码的第一印象
- 诘卵挛啪春庇逝蚜孛捅旧褂
- 位字段
- 无死角理解保存设置用户ID,设置用户ID位,有效用户ID,实际用户ID
- 忍驯评莱乌沦瓜咨鼓萄樟淹
- 裂赵亩旱行畔谛峡遗俺傅抖
- 居侣载撕事吵乇喜方型坠躺
- const char*,char *const,const char*const
- css3实现小米的logo