第6章_软件编码
本章的内容比较少且简单,多为识记的内容,想必每一个学到本课程的同学都已经有过编码(写程序)的经验,也积累了一些编程方面的经验,在本章中,就是从理论的角度来讨论一下程序设计语言的特色及编码应注意的程序设计风格。以理解和记忆为主。所以下面就一些记忆要点作一摘要。
一、程序设计语言的特性及选择
程序设计语言有三个特性,他们是:心理特性、工程特性和技术特性。
1、心理特性:是指影响程序员心理的语言性能,包括歧义性,简洁性,局部性和顺序性,传统性几个方面。
歧义性:是指某些语言虽然在编译程序中只有一种解释,但在人们看来却可能产生两种或多种不同的解释。
简洁性:是指人们必须记住的语言成分的数量。
局部性和顺序性:局部性指语言的联想性,模块的高内聚低耦合使局部性得以加强,提供异常处理的语言特性则削弱局部性。顺序性强则使人们易理解,易接受。
传统性:由于人们使用语言有一种习惯性。若新语种的传统性强,则人们学习起来容易接受。反之则需要更多时间来学习。可见传统性容易影响人们学习新语种的积极性。
2、工程特性:从软件工程的观点,程序设计语言的特性着重考虑软件开发项目的需要,因此对程序编码有如下要求:可移植性、开发工具的可利用性、软件的可重用性及可维护性。
可移植性:是指程序从一个计算机环境移植到另一个计算机环境的容易程度。
开发工具的可利用性:就是说一个开发工具好不好用,功能多不多,强不强。比如VC++就是一个开发工具。
软件的可重用性:指编程语言能否提供可重用的软件成分,重用时需要修改调整的内容多不多。
可维护性:一个易读懂,易修改的软件就是可维护性好的软件。
3、技术特性。
二、程序设计语言的选择
这一节主要要识记一些语言所适合的需求,考虑选择语言的因素有:项目的应用领域、软件开发的方法、软件执行的环境、算法和数据结构的复杂性以及软件开发人员的知识等。
1、项目应用领域
科学工程计算:主要有FORTRAN语言,它是世界上第一个被正式推广应用的计算机语言。
Pascal语言,具有很强的数据和过程结构化能力,它是第一个体现结构化编程思想的语言
C语言:功能强大,它具有汇编语言的某些特征,使程序运行效率高。
PL/1语言:适用性广,但由于太庞大而难以推广。
数据处理与数据应用,主要有Coble语言,广泛用于商业数据处理。这种语言中程序说明与硬件环境说明分开、数据描述与算法描述分开。
SQL:结构化查询语言,用于对数据库进行存取管理。
4GL(第4代语言),包括Foxpro、Uniface、PowerBuilder Informix4GL等语言。这种语言有几个特征:
(1)友好的用户界面
(2)兼有过程性和非过程性双重特性
(3)高效的程序代码
(4)完备的数据库
(5)应用程序生成器
实时处理,主要有汇编语言和Ada语言。
系统软件,主要可用汇编语言、C语言、Pascal和Ada语言。
人工智能,应选择Prolog、Lisp语言。Lisp是一种函数型语言。Prolog是一种逻辑型语言。
如果用面向对象方法开发软件,可采用C++、Java语言。
近年来软件开发环境已进入可视化时代,我们的实践课程中,也都需要你有可视化编程工具进行程序设计,可用的如Visual Basic 、Visual C++、Visual Foxpro 、Delphi等等。我们应该去学习掌握这些可视化编程工具。
三、程序设计风格
程序设计风格是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。
要形成良好的程序设计风格,应注意以下几个方面:
源程序文档化:即给标识符取名和注释方面养成良好的习惯,注意写出易读易理解的程序文档。
数据说明:注意数据说明时的顺序和变量名的排列顺序以及必要的注释。
语句构造:特别要注意的是,在写程序时要以代码的易读易解为先,不要把为了实现高效率而把一些原本容易理解的语句写成一个复杂的语句。从而降低软件可维护性。
输入输出效率:要注意的是,追求效率要建立在不损害程序可读性或可靠性基础之上,要先使程序正确、再提高效率,要先使程序清晰,再提高程序效率。
【编辑推荐】