让你提前认识软件开发(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,欢迎关注!)

让你提前认识软件开发(45):代码的第一印象,布布扣,bubuko.com

时间: 2024-12-28 09:49:54

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

让你提前认识软件开发(38):完成第一个新需求

第3部分 软件研发工作总结 完成第一个新需求 在入职后不久,我得到了第一个新任务:完成某个版本的一个新需求.所谓的"需求",就是用文档的形式告诉我们要做什么,要实现什么功能. 在得到需求文档之后,我仔仔细细地阅读了好几遍,发现有些地方自己并不是很明白.如果在自己都不是很确定的情况下修改代码,其后果是很严重的,项目经理曾经这样告诫我.我把自己的疑惑以邮件的形式发给了SE(系统工程师),让他把需求讲明白.在我们公司,SE负责写需求,他们要把用户想要实现的功能写成文档,然后让软件开发工程师来

让你提前认识软件开发(38):完毕第一个新需求

第3部分 软件研发工作总结 完毕第一个新需求 在入职后不久,我得到了第一个新任务:完毕某个版本号的一个新需求.所谓的"需求",就是用文档的形式告诉我们要做什么.要实现什么功能. 在得到需求文档之后,我仔细致细地阅读了好几遍.发现有些地方自己并非非常明确.假设在自己都不是非常确定的情况下改动代码,其后果是非常严重的,项目经理以前这样告诫我.我把自己的疑惑以邮件的形式发给了SE(系统project师).让他把需求讲明确.在我们公司,SE负责写需求,他们要把用户想要实现的功能写成文档,然后让

让你提前认识软件开发(40):既要写好代码,又要写好文档

第3部分 软件研发工作总结 既要写好代码,又要写好文档 对于软件相关行业,在学校或单位上,大家也许都已经注意到了,除了要编写的程序.绘制设计图之外,还有一个重要的工作便是写文档.为什么要写文档呢?因为我们要把自己做的东西展示出来,不光展示给同行看,可能还要展示给其他岗位上的工作人员看,甚至展示给用户看.如果我们只是会写程序,不会在文档中描述自己的想法,那么就真正的成为"码农"了. 工作也有一段时间了,我发现周围的同事,会写高质量文档的确实很少.李开复老师在<浪潮之巅>的序言

让你提前认识软件开发(46):首先是为人编写程序,其次才是计算机

第3部分 软件研发工作总结 首先是为人编写程序,其次才是计算机 "首先是为人编写程序,其次才是计算机",这是软件开发的基本要点,软件的生命周期贯穿于产品的开发.测试.生产.发布.用户使用.版本升级和后期维护等长期过程中,只有易读.易维护的软件代码才具有生命力. 在实际的软件开发过程中,可能是由于工作很忙的原因,很多开发人员只注重实现程序的基本功能,而忘记了编程规范,因此写出来的代码只能让计算机看懂,人要看懂很不容易.更有甚者,有些项目组为了赶进度,明确要求组员以实现产品功能为主,代码能

让你提前认识软件开发(44):如何解决软件故障?

第3部分 软件研发工作总结 如何解决软件故障? 在软件产品的运营维护阶段,软件工程师的一项重要工作就是解决软件的bug.在学校的时候,大家学完一门课程,然后考试通过就万事大吉了.但在实际的软件开发项目中,将软件成功交付给客户,只是"万里长征走完了第一步",后面还有大量的工作要做,例如:解决软件故障.新增功能.版本升级等.作为一名合格的软件工程师,一定要学会准确.迅速地解决软件出现的各种问题. 为什么解决软件问题的能力如此重要?因为软件项目的成功率不容乐观.国内某IT公司对本公司内软件项

让你提前认识软件开发(20):如何在C语言里面执行SQL语句?

[文章摘要] 在通信类软件中,程序经常需要与数据库打交道.为了实现诸如从数据库中获取数据.更新数据库表某字段.插入或删除某条数据等功能,就需要在C语言程序中构造一些SQL语句,并用函数来执行这些SQL语句. 本文介绍如何在C语言程序中构造并执行SQL语句,为相关软件开发工作的开展提供了参考. [关键词] SQL语句  C语言  程序  流程  开发 一.为什么要在C语言程序中执行SQL语句? 在C语言程序中执行SQL语句的原因有以下几个: (1) 程序需要获取数据库中某数据表的字段值,并对这些字

让你提前认识软件开发(47):同行评审

第3部分 软件研发工作总结 同行评审 在<浪潮之巅>这本书中,吴军老师描述了在Google早期的工作方式,其中有一段是这么写的:我一般会在吃完晚饭后把代码修改的清单发给克雷格做代码审核,他一般晚上10点左右会回复我,给我修改意见,详细到某一行多了一个空格. 吴军老师所描述的内容,其实就是软件开发中的同行评审流程. 几乎在所有的软件项目中,都需要同行评审.一个人不管能力多强,看问题的角度总会受到限制,写出来的程序和文档等定不会是十全十美的.如果能够让懂行的同事给参阅一下,并提出他们认为正确的意见

让你提前认识软件开发(28):数据库存储过程中的重要表信息的保存及相关建议

第2部分 数据库SQL语言 数据库存储过程中的重要表信息的保存及相关建议 1. 存储过程中的重要表信息的保存 在很多存储过程中,会涉及到对表数据的更新.插入或删除等,为了防止修改之后的表数据出现问题,同时方便追踪问题,一般会为一些重要的表建立一个对应的debug表.这个debug表中的字段要包括原表的所有字段,同时要增加操作时间.操作码和操作描述等字段信息. 例如,在某项目中,包括了如下一个重要的表tb_XXX: create table tb_XXX (      AAA           

让你提前认识软件开发(23):如何在C语言中执行shell命令?

第1部分 重新认识C语言 如何在C语言中执行shell命令? [文章摘要] Linux操作系统具备开源等诸多优秀特性,因此在许多通信类软件(主流开发语言为C语言)中,开发平台都迁移到了Linux上,同时shell操作在Linux的编程中占有很重要的地位,这就需要开发人员熟练掌握在C语言中执行shell命令的相关操作. 本文用实际的代码演示了如何在C语言程序中执行shell命令,为相关软件开发工作的开展提供了参考. [关键词] Linux  C语言  shell  命令  开发 一.程序执行流程