软件工程---程序编码

本文探讨了程序设计语言的选择策略,包括不同应用领域、用户需求、编译程序可用性等因素。深入讲解结构化程序设计的主要原则,如使用基本控制结构、自顶向下设计。阐述了程序设计风格的重要性,包括源程序文档化、数据说明规范、语句结构清晰等。并介绍了程序复杂性度量的方法,如代码行度量和McCabe度量法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、程序设计语言

语言的选择

二、结构化程序设计

主要原则

三、程序设计风格

源程序文档化

数据说明

语句结构

输入/输出方法

程序设计质量评价

四、程序的复杂性度量:


一、程序设计语言

分类:汇编语言、高级语言

机器语言 、汇编语言第一第二代计算机用

高级语言:同一个问题,高级语言编码可鄙汇编少3——7倍

按照软件工程的分类,语言的发展分为:

三个阶段---面向机器的语言、高级语言、甚高级语言

四代---机器语言(1)、汇编语言(2)、高级语言(3)、甚高级语言(4)

高级语言分为:系统实现语言、静态高级语言、块结构高级语言、动态高级语言

语言的选择

1、不同的应用领域选择不同的语言

2、系统用户的要求觉决定:用户使用它们熟悉的语言或操作

3、可以使用的编译程序:运行目标系统的环境中可以提供的编译程序限制了对语言的选择

4、程序员的经验和知识

5、软件可移植性要求

6、当工程规模很大时,而有没有完全合适的语言,可编一个专用的语言

7、算法与计算复杂性,软件的可靠性

8、数据结构的复杂性,付按揭的可维护性

9、小路的考虑

10、了解语言的发招前景

选择语言的原则:最少工作量原则、最少技巧性原则、最少错误原则、最少维护原则、最少记忆原则

总原则:1-先求正确后求快   2-先求清晰后求快   3-求快不忘保持程序正确   4-保持程序整洁以求快  5-不要因效率而牺牲清晰

好程序的标准:1-易于测试和调试   2-易于维护   3-易于修改   4-设计简单   5-高效率

二、结构化程序设计

1-在编写程序时,强调使用集中基本控制结构

2-在程序设计过程中尽量采用自顶向下和逐步细化的原则,又粗到细,一步步展开

主要原则

使用语言中的顺序、选择、循环等有限的基本控制结构表示程序逻辑

选用的控制结构只准许单入口、单出口

复杂结构应该用基本结构控制结构进行组合嵌套来实现

三、程序设计风格

源程序文档化

标识符的命名

安排注释

程序的视觉组织

数据说明

数据说明的次序应当规范化

说明语句中变量安排有序化

使用注释说明复杂数据结构

语句结构

语句构造-力求简单、直接,不能为了片面准求效率而使语句复杂化

一行内只写一条语句

程序编写首先应当考虑清晰性

程序要能直接了当地说明程序员的用意

除非对效率有特殊的要求,程序编写要做到清晰第一,效率第二

首先保证程序正确然后才要求提高速度

避免使用临时变量而使可读性下降

让编译程序做简单的优化

尽可能使用库函数

避免不必要的转移,同时如果能保持程序可读性,则不必用GO TO 语句

尽量只采用三种基本的控制结构来编写程序

避免使用空的ELSE语句和IF…THEN IF…语句,这种结构容易使读者产生误解

避免采用过过于复杂的条件测试

尽量减少使用“否定”条件的条件语句

尽可能用通俗易懂的伪码来描述程序的流程,然后再翻译成必须使用的语言

数据结构要有利于程序的简化

要模块化

利用信息隐蔽,确保每一个模块的独立性

从数据出发去构造程序

不要修补不好的程序要重新编写

对太大的程序,要分块编写、测试,然后再集成

 

输入/输出方法

输入和输出信息是与用户的使用直接相关的,输入和输出的方式和格式应当尽可能方便用户的使用

满足 运行工程学的输入输出风格

输入:输入格式力求简单、一直,并尽可能采用自由格式输入;使用数据结束或文件结束标准来终止输入,不要让用户来计算输入的项数或记录数

输出:标志左右的输出数据,加必要的说明   -当用户使用程序时,可对用户做到”在线“帮助  -对可能产生重大后果的请求,先给出提示   -对所有输出的数据加标注   -发生错误时,能迅速恢复正常

                                                                                                                  

程序设计质量评价

(一)正确性

程序中没有语法错误

程序运行时没有发现明确的运行错误

程序中没有不适当的语句

用有效的测试数据,得到程序的正确结果

用无效的测试数据, 得到程序的正确结果

用任何可能的数据使程序在运行时得到正确的结果

(二)结构清晰性

1、是否使用三种结构化格式表示程序的控制逻辑

2、是否有一个入口,一个出口

3、是否严格控制GOTO语句

(三)易修改性

(四)易读性

(五)简单性

四、程序的复杂性度量:

程序复杂性主要是指模块内程序的复杂性

代码行度量方法:方法的基本考虑时统计一个程序模块的源代码行数目,并以源代码行数座位程序复杂性的度量

McCabe度量法:又称环路复杂性度量,是一种计语程序控制流的复杂性度量方法

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值