软件工程第六讲教案.doc

上传人:wj 文档编号:1306915 上传时间:2023-04-30 格式:DOC 页数:20 大小:109KB
下载 相关 举报
软件工程第六讲教案.doc_第1页
第1页 / 共20页
软件工程第六讲教案.doc_第2页
第2页 / 共20页
软件工程第六讲教案.doc_第3页
第3页 / 共20页
软件工程第六讲教案.doc_第4页
第4页 / 共20页
软件工程第六讲教案.doc_第5页
第5页 / 共20页
软件工程第六讲教案.doc_第6页
第6页 / 共20页
软件工程第六讲教案.doc_第7页
第7页 / 共20页
软件工程第六讲教案.doc_第8页
第8页 / 共20页
软件工程第六讲教案.doc_第9页
第9页 / 共20页
软件工程第六讲教案.doc_第10页
第10页 / 共20页
软件工程第六讲教案.doc_第11页
第11页 / 共20页
软件工程第六讲教案.doc_第12页
第12页 / 共20页
软件工程第六讲教案.doc_第13页
第13页 / 共20页
软件工程第六讲教案.doc_第14页
第14页 / 共20页
软件工程第六讲教案.doc_第15页
第15页 / 共20页
软件工程第六讲教案.doc_第16页
第16页 / 共20页
软件工程第六讲教案.doc_第17页
第17页 / 共20页
软件工程第六讲教案.doc_第18页
第18页 / 共20页
软件工程第六讲教案.doc_第19页
第19页 / 共20页
软件工程第六讲教案.doc_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

软件工程第六讲教案.doc

《软件工程第六讲教案.doc》由会员分享,可在线阅读,更多相关《软件工程第六讲教案.doc(20页珍藏版)》请在冰点文库上搜索。

软件工程第六讲教案.doc

教案首页

周次日期课时序

课题

软件编码

教学目的

要求

了解相关程序设计语言;了解编码风格;了解程序效率;掌握编码安全概念

重点

程序效率、编码安全

难点

程序效率、编码安全

教学过程

设计

时间分配

第六章软件编码(2*45‘)

第一节程序设计语言(10‘)

第二节编码风格(20‘)

第三节程序效率(30‘)

第四节编程安全(30‘)

教学场所

或教学方法

使用

教具

作业

课后记

授课教师

第六章软件编码

用户与计算机交流信息必须使用程序设计语言,这就涉及到编码。

所谓编码就是把软件设计的结果翻译成计算机可以理解的形式,即用某种程序设计语言书写的程序。

作为软件工程的一个步骤,编码是软件设计的结果,因此,程序的质量主要取决于软件设计的质量。

但是,程序设计语言的特性和编码途径也会对程序的可靠性、可读性、可测试性和可维护性产生深远的影响。

6.1程序设计语言

编码的目的是为了指挥计算机按人的意志正确工作,即使用选定的程序设计语言,把模块过程描述翻译为用程序设计语言书写的源程序。

程序设计语言是人和计算机通信的最基本的工具,程序设计语言的特性不可避免地会影响人思维和解决问题的方式,会影响人和计算机通信的方式和质量,也会影响其他人阅读和理解程序的难易程度,因此,编码之前的一项重要工作就是选择一种适当的程序设计语言。

本节将从软件工程的观点,简单介绍几个和程序设计语言有关的问题以保证编码阶段工作的顺利进行。

6.1.1程序设计语言分类

自1960年以来人们已经设计和实现了数千种不同的程序设计语言,但是只有其中很少一部分得到了比较广泛的应用。

现有的程序设计语言虽然品种繁多,但它们基本上可以分为面向机器语言和高级语言(包括超高级语言4GL)两大类。

1.面向机器语言

面向机器语言包括机器语言和汇编语言。

这两种语言的选择依赖于相应的机器结构,其语句和计算机硬件操作相对应。

每种汇编语言都是支持该语言的系列计算机所独有的,因此,其指令系统因机器而异,难学难用。

从软件工程学观点来看,生产率低,容易出错,维护困难,所以现在的软件开发一般不会使用汇编语言。

但它的优点是易于系统接口,编码译成机器语言效率高,因而在某些使用高级语言不能满足用户需要的个别情况下,可以使用汇编语言编码。

2.高级语言

高级语言的出现大大提高了软件生产率。

高级语言使用的概念和符号与人们通常使用的概念和符号比较接近,它的一个语句往往对应若干条机器指令,一般说来,高级语言的特性不依赖于实现这种语言的计算机,通用性强。

对于高级语言还应该进一步分类,以加深对它们的了解。

我们可以分别从应用特点和语言内在特点两个不同角度对高级语言进行分类。

从应用特点看,高级语言可以分为基础语言、现代语言和专用语言三类。

(1)基础语言

基础语言是通用语言,它们的特点是出现早、应用广泛,有大量软件库,为最广泛的人所熟悉和接受。

属于这类语言的有:

BASIC,FORTRAN,COBOL和ALGOL等。

这些语言创始于是乎20世纪50年代或60年代,部分性能已老化,但随着版本的更新与性能的改进,至今仍被使用。

FORTRAN是使用最早的高级语言,它适合于科学计算。

其缺点是数据类型不丰富,对复杂数据结构也缺乏支持。

COBOL创建于50年代,是商业数据库处理中应用最广的高级语言。

它广泛的支持与事物数据处理有关的各种过程技术。

其优点是数据部、环境部、过程部分开,程序适应性强,可移植性强且使用近似于自然语言的语句,易于理解。

但其缺点是计算功能弱、编译速度慢、程序不够紧凑等。

BASIC是60年代为适应分时系统而设计一种交互式语言,用于一般数值计算与事务处理。

优点是简单易学,具有交互功能,因此成为许多程序设计初学者的入门语言,对计算机的普及起了巨大作用。

ALGOL语言包括ALGOL60和ALGOL68。

是一种描述计算过程的算法语言。

它对PASCAL语言的产生有强烈的影响,被认为是结构化语言的前驱。

其缺点是缺少标准的输入输出和结构使用的换名参数。

(2)现代语言

现代语言又称结构化语言,也是通用语言。

这类语言的特点是直接提供结构化的控制结构,具有很强的过程能力和数据结构能力。

ALGOL是最早的结构化语言(同时又是基础语言),由它派生出来的PL/1,PASCAL,C以及Ada等语言正被应用在非常广泛的领域中。

PASCAL是第一个系统的体现结构化程序设计概念的现代高级语言。

它的优点主要是模块清晰,控制结构完备,数据结构和数据类型丰富,且表达能力强,可移植性好。

因此在科学计算、数据处理及系统软件开发中应用广泛。

C语言最初是作为UNIX操作系统的主要语言开发的,现在已独立于UNIX成为通用的程序设计语言,适用于多种微机与小型计算机系统。

它具有结构化语言的公共特征,表达简洁,控制结构、数据结构完备,运行符和数据类型丰富,而且可移植性强,编译质量高。

其改进型C++已成为面向对象的程序设计语言。

Ada是迄今为止最完善的面向过程的现代语言。

适用于“嵌入式”计算机系统。

它支持并发处理与过程间通讯,支持异常处理的中断处理,并且支持通常有汇编语言实现的低级操作。

Ada是第一个充分体现软件工程思想的语言,它既是编码语言又可作为设计表达工具。

(3)专用语言

专用语言的特点是,具有为某种特殊应用而设计的独特的语法形式。

一般说来,这类语言的应用范围比较狭窄。

例如,APL是为数组和向量运算设计的简洁而又功能很强的语言,然而它几乎不提供结构化的控制结构和数据类型;BL1SS是为开发编译程序和操作系统而设计的语言;FORTH是为开发微处理机软件而设计的语言,它的特点是以面向堆栈的方式执行用户定义的函数,因此能提高速度和节省存储;L1SP和PROLOG两种语言特别适合于人工智能领域的应用。

从语言的内在特点看,高级语言可以分为系统实现语言、静态高级语言、块结构高级语言和动态高级语言等四类。

1)系统实现语言是为了克服汇编程序设计的困难而从汇编语言发展起来的。

这类语言提供控制语句和变量类型检验等功能,但是同时也容许程序员直接使用机器操作。

例如,C语言就是著名的系统实现语言。

2)静态高级语言给程序员提供某些控制语句和变量说明的机制,但是程序员不能直接控制由编译程序生成的机器操作。

这类语言的特点是静态地分配存储。

这种存储分配方法虽然方便了编译程序的设计和实现,但是对使用这类语言的程序员施加了较多限制。

因为这类语言是第一批出现的高级语言,所以使用非常广泛。

COBOL和FORTRAN是这类语言中最著名的例子。

3)块结构高级语言的特点是提供有限形式的动态存储分配,这种形式称为块结构。

存储管理系统支持程序的运行,每当进入或退出程序块时,存储管理系统分配存储或释放存储。

程序块是程序中界限分明的区域,每当进入一个程序块时就中断程序的执行,以便分配存储。

ALGOL和PASCAL就属于这类语言。

4)动态高级语言的特点是动态地完成所有存储管理,也就是说,执行个别语句可能引起分配存储或释放存储。

一般地说,这类语言的结构和静态的或块结构的高级语言的结构不同,实际上这类语言中任何两种语言的结构彼此间也很少类似。

这类语言一般是为特殊应用而设计的,不属于通用语言。

综上所述:

从软件工程的观点来看,程序设计语言的分类可由图6-1简单表示。

其中高级语言的分类可由图6-2表示。

图6-1程序设计语言的分类

图6-2高级语言的分类

6.1.2程序设计语言的特点

程序设计语言是人与计算机交流的媒介。

软件工程师应该了解程序设计语言各方面的特点,以及这些特点对软件质量的影响,以便在需要为一个特定的开发项目选择语言时,能做出合理的选择。

下面从几个不同侧面简单讨论程序设计语言的特点。

(1)名字说明

预先说明程序中使用的对象的名字,使编译程序能检查程序中出现的名字的合法性,从而能帮助程序员发现和改正程序中的错误。

某些语言(例如FORTRAN和BASIC)并不要求用户显式地说明程序中所有对象的名字,第一次使用一个名字被看作是对这个名字的说明。

然而在输入源程序时如果拼错了名字,特别是如果错输入的字符和预定要使用的字符非常相像(例如,字母o和数字0,小写字母l和数字1),那么因此而造成的错误是较难诊断的。

(2)类型说明

类型说明和名字说明是紧密相联的,通过类型说明用户定义了对象的类型,从而确定了该对象的使用方式。

编译程序能够发现程序中对某个特定类型的对象使用不当的错误,因此有助于减少程序错误。

规定必须预先说明对象的类型还有助于减少阅读程序时的歧义性。

类型检查的概念最早是在ALGOL60中引入的,以后又显著地强化了这个概念,像PASCAL这样的程序设计语言,还允许用户定义与他们的特定应用有关的自己的类型,并且可以再用自己定义的类型说明其他程序对象。

用户甚至可以定义记录、链表和二叉树等复杂的结构类型。

程序设计语言中的类型说明不仅仅是一种安全措施,它还是一种重要的抽象机制。

对类型名字的定义使得用户可以引用某些复杂的实体,而不必考虑这些实体的表示方法。

(3)初始化

程序设计中最常见的错误之一是在使用变量之前没对变量初始化,为减少发生错误的可能性,应该使程序员对程序中说明的所有变量初始化。

另一个办法是在说明变量时由系统给变量赋一个特殊的、表明它尚未初始化的值,以后如果没给这个变量赋值就企图使用它的值,系统就会发出出错信号。

(4)程序对象的局部性

程序设计的一般原理是,程序对象的名字应该在靠近使用它们的地方引入,并且应该只有程序中真正需要它们的那些部分才能访问它们。

通常有两种提供局部变量的途径,FORTRAN等绝大多数系统实现语言提供单层局部性,块结构语言提供多层局部性。

如果名字的特性在靠近使用这些名字的地方说明,程序的阅读者就很容易获得有关这些名字的信息,因此多层次的局部性有助于提高程序的可读性,此外,具有多层次局部性的语言鼓励程序员尽量使用局部的对象(变量或常量),这不仅有助于提高可读性,而且有助于减少差错和提高程序的可修改性。

但是,在块结构语言中如果内层模块说明的名字和外层模块中说明的名字相同,则在内层模块中这些外层模块的对象变成不可访问的。

当模块多层嵌套时,可能会由于疏忽在内层模块中说明了和外层模块中相同的名字,从而引起差错。

特别在维护阶段,维护人员往往不是原来写程序的人,更容易出现这种差错。

虽然用单层局部性语言写的程序可读性不如多层局部性的,但是却容易实现程序单元的独立编译。

(5)程序模块

块结构语言提供了控制程序对象名字可见性的某些手段,主要是在较内层程序块中说明的名字不能被较外层的程序块访问。

此外,由于动态存储备配的缘故,在两次调用一个程序块的间隔中不能保存局部对象的值。

因此,即使是只有一两个子程序使用的对象。

如果需要在两次调用这些子程序的过程中保存这个对象的值,也必须把这个对象说明成全过程的,也就是程序中所有子程序都可以访问的,然而这将增加维护时发生差错的可能性。

从控制名字的可见性这个角度来说,块结构语言提供的机制是不完善的,需要某种附加的机制,以允许用户指定哪些局部名字可以从说明这些名字的程序块外面访问,还应该能够要求某个局部变量在两次调用包含它的程序块的过程中保存它的值。

(6)循环控制结构

最常见的循环控制结构有FOR语句(循环给定次数),WHILE_DO语句(每次进入循环体之前测试循环结束条件)和REPEAT_UNTIL语句(每执行完一次循环体测试循环结束条件)。

但是,实际上有许多场合需要在循环体内任意一点测试循环结束条件,如果使用IF_THEN_ELSE语句和附加的布尔变量实现这个要求,则将增加程序长度并降低程序的可读性。

(6)分支控制结构

IF型分支语句,通常并不存在什么实际问题,但是多分支的CASE型语句却可能存在下述两个问题:

第一,如果CASE表达式取的值不在预先指定的范围内,则不能决定应该做的动作;第二,在某些程序设计语言中,由CASE表达式选定执行的语句,取决于所有可能执行的语句的排列次序,如果语句次序排错了,编译和运行时系统并不能发现这类错误。

PASCAL语言的CASE语句,用CASE表达式的值和CASE标号匹配的办法,选择应该执行的语句,从而解决了上述第二个问题。

Ada语言的CASE语句还进一步增加了补缺标号(OTHER),从而也解决了上述的第一个问题。

(8)异常处理

程序运行过程中发生的错误或意外事件称为异常。

多数程序设计语言在检测和处理异常方面几乎没给程序员提供任何帮助,程序员只能使用语言提供的一般控制结构检测异常,并在发生异常时把控制转移到处理异常的程序段。

但是,当程序中包含一系列子程序的嵌套调用时,并没有方便而又可靠的方法把出现异常的信息从一个子程序传送到另外的子程序。

使用一般控制结构加布尔变量的方法,需要明显增加程序长度并且使程序的逻辑变得更为复杂。

(9)独立编译

独立编译意味着能分别编译各个程序单元,然后再把它们集成为一个完整的程序。

典型的,一个大程序由许多不同的程序单元(过程、函数、子程序或模块)组成。

如果修改了其中任何一个程序单元都需要重新编译整个程序,将大大增加程序开发、调试和维护的成本;反之,如果可以独立编译,则只需要重新编译修改了的程序单元,然后重新连接整个程序即可。

由此可见,一个程序设计语言如果没有独立编译的机制,就不是适合软件工程需要的优秀语言。

6.1.3程序设计语言的选择

在编写程序时,程序员们都习惯于使用自己熟悉的语言。

因而目前的计算机上所配备的程序设计语言越来越多。

开发软件系统时必须做出的一个重要抉择是,使用什么样的程序设计语言实现这个系统。

适宜的程序设计语言能使根据设计去完成编码时困难最少,可以减少需要的程序测试量,并且可以得。

出更容易阅读和更容易维护的程序。

由于软件系统的绝大部分成本用在生命周期的测试和维护阶段,所以容易测试和容易维护是尤其重要的。

使用汇编语言编码需要把软件设计翻译成机器操作的序列,由于这两种表示方法很不相同,因此汇编程序设计既困难又容易出差错。

一般说来,高级语言的源程序语句和汇编代码指令之间有一句对多句的对应关系。

统计资料表明,程序员在相同时间内可以写出的高级语言语句数和汇编语言指令数大体相同,因此用高级语言写程序比用汇编语言写程序生产率可以提高好几倍。

高级语言一般都容许用户给程序变量和子程序赋予含义鲜明的名字,通过名字很容易把程序对象和它们所代表的实体联系起来;此外,高级语言使用的符号和概念更符合人的习惯。

因此,用高级语言书写的程序可阅读性,可测试性,可调试性和可维护性强。

总的说来。

高级语言明显优于汇编语言。

因此,除了在很特殊的应用领域(例如,对程序执行时间和使用的空间都有很严格限制的情况;需要产生任意的甚至非法的指令序列;体系结构特殊的微处理机,以致在这类机器上通常不能实现高级语言编译程序等)应该采用高级语言书写。

在选择与评价语言时,首先要从问题人手,确定它的要求是什么,这些要求的相对重要性如何,再根据这些要求和相对重要性来衡量能采用的语言。

在种类繁多的高级语言中究竟选择哪一种,可以参照以下标准。

1.理想标准

1)所选用的高级语言应该有理想的模块化机制,以及可读性好的控制结构和数据结构,以使程序容易测试和维护,同时减少软件生存周期的总成本。

2)所选用的高级语言应该使编译程序能够尽可能多地发现程序中的错误,以便于调试和提高软件的可靠性。

3)所选用的高级语言应该有良好的独立编译机制,以降低软件开发和维护的成本。

2.实践标准

(1)语言自身的功能

从应用领域角度考虑,各种语言都有自己的适用领域。

如在科学计算领域FORTRAN占优势,PASCAL和BASIC也常用;在事务处理方面COBOL和BASIC占优势;在系统软件开发方面C语言占优势,汇编语言也常用;在信息管理、数据库操作方面SQL和VisualFoxpro、Oracol等占优势。

从算法与计算复杂性角度考虑,FORTRAN、TureBASIC及各种现代语言都能支持较复杂的计算与算法,而COBOL及大多数数据库语言只能支持简单的运算。

从数据结构的复杂性角度考虑,PASCAL和C语言都支持数组,记录(在C语言中称结构)与带指针的动态数据结构,适合于书写系统程序和需要复杂数据结构的应用程序。

而BASIC和FORTRAN等语言只能提供简单的数据结构——数组。

从系统效率的角度考虑,有些实时应用要求系统具有快速的响应速度,此时可选用汇编语言或Ada语言或C语言。

(2)系统用户的要求

如果所开发的系统由用户自己负责维护,通常应该选择他们熟悉的语言来编写程序。

(3)编码和维护成本

选择合适的程序设计语言可大大降低程序的编码量及日常维护工作中的困难程度,从而使编码和维护成本降低。

(4)软件的兼容性

虽然高级语言的适应性很强,但不同机器上所配备的语言可能不同。

另外,在一个软件开发系统中可能会出现各子系统之间或主系统与子系统之间所采用的机器类型不同的情况。

(5)可以使用的软件工具

有些软件工具,如文本编辑、交叉引用表、编码控制系统及执行流分析等工具,在支持程序过程中将起着重要作用,这类工具对于所选用的具体的程序设计语言是否可用,决定了目标系统是否容易实现和测试。

(6)软件可移植性

如果系统的生存周期比较长,应选择一种标准化程度高、程序可移植性好的程序设计语言,以使所开发的软件将来能够移植到不同的硬件环境下运行。

(6)开发系统的规模

如果开发系统的规模很大,而现有的语言又不完全适用,那么就要设计一个能够实现这个系统的专用的程序设计语言。

(8)程序设计人员的知识水平

在选择语言时还要考虑程序设计人员的知识水平,亦即他们对语言掌握的熟练程度及实践经验。

6.2编码风格

编码风格又称程序设计风格或编程风格。

风格原指作家、画家在创作时喜欢和习惯使用的表达自己作品题材的方式,而编码风格实际上指编程的原则。

有相当长的一段时间,许多人认为程序只是给机器执行的,而不是供人阅读的,所以只要程序逻辑正确,能为机器理解并依次执行就足够了,至于“文体(即风格)”如何无关紧要。

但随着软件规模增大,复杂性增加,人们逐渐看到,在软件生存期中需要经常阅读程序,特别是在软件测试阶段和维护阶段,编写程序的人与参与测试、维护的人都要阅读程序。

人们认识到,阅读程序是软件开发和维护过程中的一个重要组成部分,而且读程序的时间比写程序的时间还要多。

因此,程序实际上也是一种供人阅读的文章。

既然如此,就有一个文章的风格问题。

60年代初,有人提出在编写时,应该使程序具有良好的风格。

这个想法很快就为人们所接受。

人们认识到,程序员在编写程序时,应当意识到今后会有人反复阅读这个程序,井沿着自己的思路取理解程序的功能。

所以应当在编写程序时多花些工夫,讲求程序的风格,这将大量地减少人们读程序的时间,从整体上看,效率是高的。

60年代以来,编码的目标从强调效率转变为强调清晰。

人们逐步意识到,良好的编码风格能在一定程度上弥补语言存在的缺陷,而如果不注意风格就很难写出高质量的程序。

尤其当多个程序员合作编写一个很大的程序时,需要强调良好而一致的编码风格,以便相互通讯,减少因不协调而引起的问题。

总之,良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量。

在这一节,将从四个方面讨论编码风格,即源程序文档化,数据说明的方法,语句结构和输入/输出方法,进而从编码原则探讨提高程序的可读性、改善程序质量的方法。

6.2.1源程序文档化

我们知道一句名言“软件=程序+文档”。

虽然编码的目的是产生程序,但是为了提高程序的可维护性,源代码也需要实现文档化,这些称为内部文档编制。

源程序文档化包括选择标识符(变量和标号)的名字、安排注释以及程序的视觉组织等。

1.符号名的命名

符号名即标识符,包括模块名、变量名、常量名、标号名、子程序名以及数据区名、缓冲区名等。

这些名字应能反映它所代表的实际东西,应有一定实际意义,使其能够见名知意,有助于程序功能的理解。

如:

平均值用Average表示,和用Sum表示,总量用Total表示。

2.程序的注释

程序中的注释是程序员与程序读者之间通信的重要手段。

正确的注释能够帮助读者理解程序,并为后续测试和维护提供明确的指导信息。

因此注释是十分重要的,大多数程序设计语言提供了使用自然语言来写注释环境,这就给阅读程序带来很大的方便。

注释分为序言性注释和功能性注释。

(1)序言性注释

序言性注释通常位于每个程序模块的开头部分,它给出程序的整体说明,对于理解程序具有引导作用。

有些软件开发部门对序言性注释做了明确而严格的规定,要求程序编制者逐项列出。

有关项目包括:

程序标题;有关该模块功能和目的的说明;主要算法;接口说明:

包括调用形式,参数描述,子程序清单;有关数据描述(重要的变量及其用途,约束或限制条件,以及其他有关信息);模块位置(在哪一个源文件中,或隶属于哪一个软件包);开发简历:

模块设计者,复审者,复审日期,修改日期等。

下面给出了一个序言性注释的例子。

CNameofmodule:

Push

CNameofauthor:

Petter

CDateofcomplition1999.9.11

CFunctionsperformed:

TOaddanitemintoastack,andreturnazerofornormalopration

Cvariablenames:

CITENisthestackvalue

CINDEXisthestackpointer

CSTACKisanarray

CERRFLAGistheerrorflag

CCallingroutine:

MAIN

CCalledroutine:

none

CExceptionhanding:

CERRFLAGreturns1whenstackisfull

(2)功能性注释

功能性注释嵌在源程序体中,用以描述其后的语句或程序段是在做什么工作,也就是解释下面要“做什么”,或是执行了下面的语句会怎么样,而不要解释下面怎么做,因为解释怎么做常常是与程序重复的,并且对于阅读者理解程序没有什么帮助。

例如,对于“ave=tal/num”的注释应该是“总量除以人数求得均值”而不应该是“tal除以num得ave”。

对于书写功能性注释,要注意以下几点:

1)用于描述一段程序,而不是每一个语句;

2)用缩进和空行,使程序与注释容易区别;

3)注释要正确。

4)有合适的,有助于记忆的标识符和恰当的注释,就能得到比较好的源程序内部的文档。

5)有关设计的说明,也可作为注释,嵌入源程序体内。

3.标准的书写格式

应用统一的、标准的格式来书写源程序清单,有助于改善可读性。

常用的方法有:

1)用分层缩进的写法显示嵌套结构层次;

2)在注释段周围加上边框;

3)注释段与程序段、以及不同的程序段之间插入空行;

4)每行只写一条语句;

5)书写表达式时适当使用空格或圆括号作隔离符。

一个程序如果写得密密麻麻,分不出层次来常常是很难看懂的。

优秀的程序员在利用空格、空行和缩进的技巧上显示了他们的经验。

恰当地利用空格,可以突出运算的优先性,避免发生运算的错误。

自然的程序

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2