软件工程的四个点滴


软件工程的四个点滴

对数据结构和算法的理解在开发优秀的软件时是非常重要的。与其同等重要的是在我们的开发工作中应用软件工程中的一些良好准则。软件工程是个很广的主题,但从一些思想和概念中我们可以得到很多收获。这里就介绍一些相关的主题并将这些思想运用到全书中。

模块化

在软件设计中为了达到模块化的目的,一种方法是将精力集中在黑盒上。在软件开发中黑盒代表一个模块,它的内部实现并不希望被使用这个模块的用户看到。用户只能通过模块设计者预定义好的公共接口和这个模块交互。这就是说,设计者仅仅只公开用户需要使用这个模块的必要信息,而将其他所有实现细节都隐藏起来。其结果就是用户并不关心模块的实现细节,也避免了(至少理论上是这样,随编程语言而定)与模块的内部实现相耦合。这些就是数据隐藏和封装的基本思想。软件工程中的良好准则在面向对象语言中更是被强制施行。尽管非面向对象编程语言并没有在语言本身强制施行这些观点和准则,我们自己依然可以做到。本书中的例子是设计抽象数据类型(ADT)。基本上每种数据类型都是一个结构体。我们对结构体所能做的一切操作都被精确定义,并在头文件中以公共接口的形式公开。

可读性

通过一些方法我们能使程序变得更加可读。编写有意义的注释,使用贴切的标识符,编写自注释的代码,这都是一些范例。关于如何编写好的注释,各种不同的观点之间相差很大。但一个好的基本准则是加上注释以便于其他的开发人员能够很容易地通过阅读这段注释来理解程序逻辑。另一方面,如果代码是自注释的则不需要添加注释,因为代码读起来几乎和注释一样清楚明了。本书中的自注释代码例子是在头文件中对给出的数据结构和算法的公共接口定义。

简洁性

遗憾的是,在人类社会中我们常常倾向于将“复杂”和“智能”联系在一起。事实上,智能的解决方案通常都是最简单的。另外,最简单的解决方案常常也是最难找到的。本书中的大部分算法都能够展示出简洁的力量。尽管人们对一些算法做了大量的研究工作后才证明了其正确性,但它们最终呈现出的形态都是对问题本质而言简洁而清晰的解决方案。

一致性

在软件开发中,一件非常值得去做的事情是建立编码约定并一直遵守这个约定。当然,约定必须容易识别。毕竟,如果其他人无法确定什么是约定,则约定也就不成约定了。这种约定可以体现在许多层面上。例如,它们可能只是代码形式上的修饰,或者它们在概念上可能和如何解决特定类型的问题有关联。无论是什么情况,一个好的约定的优秀之处在于一旦我们在一处看到它,我们就可以在别处识别它并理解它的作用。因此,一致性也促进了代码的可读性和简洁性。本书中的两个形式约定的例子是注释的写法以及和数据结构相关联的操作的命名方式。两个概念上的约定例子是在数据结构中管理数据的方式以及把静态函数当做私有函数使用,也就是,它们不属于公共接口部分。

展开阅读全文

页面更新:2024-03-20

标签:软件工程   简洁性   数据结构   可读性   注释   算法   点滴   模块   例子   准则   接口   解决方案   思想   代码   用户

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top