购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

细节5

高贵的品质
——程序书写要规范化

著名的“清晰第一,效率第二”是编写程序时应遵循的规则,也就是说,所编写的程序应该简单、清晰、易于理解,这样的程序有利于后期维护和修改,具有很好的扩展性。

编程准则:程序代码应简单、清晰、易于理解

无论多么好的程序,如果你的代码不能让别人理解、接受,那这个程序就不能说是一个好的程序,软件设计的基本原则就是代码应简单、清晰、可读性好、易于理解和维护,所以,作为一款优秀的软件,其代码必须要做到这一点,否则就不能说是一款优秀的软件。

作为一名优秀的程序员,在编写代码时一般应做到以下几点。

1.标识符要有意义

在进行程序开发时,代码中的标识符应使用有意义的名称,包括常量、变量、成员变量、方法、方法的形参、包、类和接口等的命名都要有一定的实际意义,这样有利于别人对程序功能的理解。

示例:

说 明

上面代码声明了三个变量name、sex和age,这样,当别人看到这三个变量名时,很容易就会猜到name是存放姓名的变量、sex是存放性别的变量、age是存放年龄的变量,因此有意义的标识符有利于别人对程序功能的理解。

2.给代码添加注释

通过添加注释,可以提高代码的质量,增强代码的可读性,有利于对程序代码的理解和维护。对于一个较优秀的程序,通常都要为代码添加注释,清楚地说明代码的含义和作用。

示例:

说 明

上面的示例通过为代码添加注释,增加了代码的可读性,有利于别人对代码的理解,通过阅读代码的注释,程序员就能很容易地理解每部分代码的含义,这样既有利于程序员对代码的理解,又方便了对代码的维护。

3.为代码分段和添加缩进

为了有利于对程序代码的理解,增强程序的可读性,还应该对程序代码进行分段和添加缩进,通过添加空白行,可以实现代码分段,代码缩进则以每增加一层缩进为一个单位,这样可使代码清晰,可读性好,易于理解和维护。

示例:

说 明

上面的示例在outputInfo方法和main主方法的上方各添加了一个空行,而且在主方法内调用outputInfo方法时也在其上方添加了一个空行,将不同的代码块分隔,从而实现了代码的分段。在类Demo的内部对outputInfo方法和main主方法各添加了一个缩进,并对outputInfo方法和main主方法内部的代码又各添加了两个缩进,从而使代码层次分明。这样通过对代码进行分段和添加缩进,增强了代码的可读性,为代码的查阅和维护提供了方便。

4.代码行要独立

在书写程序代码时,应遵循一行只写一条语句,一条语句较长则可以分多行书写,语句是否太长,可以根据一屏是否能够完全显示来判断,如果能在一屏完全显示,则不需要分多行书写,如果一屏不能完全显示,则应该分多行书写。

一条语句占用一行,有助于对代码的阅读和理解,如果多条语句写在一行,代码就会显得比较混乱,因此在编写程序时,代码行应该独立,这也是软件设计所要求的,完全符合“清晰第一,效率第二”的编程规则。

接下来我们看一个示例,该示例说明了如果在一行写多条语句,将降低程序代码的可读性,不利于代码的理解与维护。

示例:

注 意

上面的代码在一行声明了三个变量name、sex和age,虽然在Java中允许在一行书写多条语句,但是当看到这样的程序代码后,读者朋友不会觉得代码很乱吗?所以在书写程序代码时,一定不要在一行书写多条语句,应该做到一行只写一条语句。

接下来我们再来看一个示例,该示例对上面的示例进行了改进,每一条语句只写在一行,这样,程序代码看上去就显得简单、清晰、容易理解了。

示例:

说 明

上面的代码对前一个示例进行了改进,同样是声明三个变量name、sex和age,但是由于每一条语句各占一行,这样的代码看上去就清晰多了,看着也舒服,有利于代码的理解和维护。

5.程序要模块化

模块化就是指将程序所要解决的总目标分解为若干分目标,对每个分目标再进一步分解为具体的小目标,每个小目标就是一个模块。

假设要开发一个企业进销存管理系统,不但要进行需求分析,还要考虑硬件设施、软件环境等诸多因素,并根据用户需求设计出系统的功能图,如图1.5 所示。

说 明

这里只是一个假设而已,并不是说真正要开发一个企业进销存管理系统,所以这里并没有给出系统所需的具体硬件、软件以及需求分析的过程,而且系统功能图也并没有完整给出,这里只是为了说明程序开发模块化的原因。

图1.5 企业进销存管理系统功能图

从企业进销存管理系统功能图可以看出,整个系统被分解为基本信息管理模块、采购信息管理模块、销售信息管理模块等若干个分目标,也就是分解为若干个子模块,然后再对每个子模块进行进一步分解,例如,将基本信息管理模块又分解为商品信息模块、客户信息模块等更具体的小模块。

通过上面的分解,程序的结构就清晰多了,程序开发人员只需要对具体的小模块进行开发,如商品信息模块、客户信息模块等,然后再将各个小模块组织到一起,最终完成整个系统的开发,因此程序模块化能够简化程序、降低程序的难度、缩短开发周期。 ISKH34nN6JtYNJ0GuXH73mvavAqjY6E7zH9kOfd471cls7HrHqIshIf9NDZslxj1

点击中间区域
呼出菜单
上一章
目录
下一章
×