【软件工程】软件编码

程序设计语言的性能编码风格在很大程序上影响着软件的质量和维护性能,即对程序的可靠性、可读性、可测试性和可维护性产生深远的影响,所以选择哪一种程序设计语言和怎样来编写代码是要认真考虑。

小编本次总结软件编码,首先让我们通过一张思维导图来认识一下本章的整体脉络吧。

【软件工程】软件编码_第1张图片

 

本章重点:

【程序设计语言】

一、选择程序设计语言的原则:

  • 最少的工作量原则

  • 最少技巧性原则

  • 最少错误性原则

  • 最少维护性原则

  • 减少记忆原则(稍加培训即可会)

总原则:正确、清晰、(效率)

1.先求正确后求快

2.先求清晰后求快

3.求快不忘保持程序正确

4.保持程序整洁以求快

5.不用因效率而牺牲清晰

实际应用中选择语言的实用标准:

1.待开发软件的应用领域

2.用户的需求

3.软件的运行环境

4.软件开发人员的知识

5.软件的可移植性要求(方便维护)

二、好程序标准:源程序代码的逻辑简明、易读易懂

1.易于测试和调试

2.易于维护

3.易于修改

4.设计简单

5.高效率(重要的程序段重点考虑其效率)

 

【程序设计方法——结构化程序设计】

一、结构化程序设计的主要原则:(基本控制结构;自顶向下、逐步细化)

  • 使用语言中的顺序、选择、重复等优先的基本控制结构表示程序逻辑。

  • 选用的控制结构只准许有一个入口和一个出口

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

二、编程阶段的原则:

  • 自顶向下(全局到局部)

  • 逐步细化(复杂问题,设计子目标过渡,逐步细化)

  • 模块化(复杂问题,分解为子目标,再分解为小目标,每一个小目标称为一个模块)

  • 结构化编码(结构化语言有与基本结构对应的语句)

 

【程序设计风格】

  • 源程序文档化

  • 数据说明

  • 语句结构

  • 输入/输出方法

一、源程序文档化:

  • 标识符的命名(尽量不要和关键字相同)

  • 安排注释(1/3代码段:细节性注释和功能性注释:重要程序段)

  • 程序的视觉组织(布局,层次之间缩进,空行等)阶梯形式

二、数据说明:

数据说明的原则:

1.数据说明应标准化、规范化:易于测试、排错和维护

2.当多个变量名在一个语句中说明时,按字母顺序排列(有序化)。

  应该对过程和函数的形参排列有序。

  •    输入参数在前,输出参数在后;

  •    整型参数在前,实型参数次之,其他参数在后。

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

三、语句结构:力求简单,直接,先正确后速度,不能为了片面追求效率而使语句特别复杂

语句结构的原则:

1.一行一语句

2.避免复杂条件测试(减少“非”条件的测试)

3.避免大量使用循环嵌套预计和条件嵌套语句

4.逻辑/算术表达式 清晰直观

5.变量说明不要遗漏,变量的类型、长度、存储及初始化要正确

6.先正确后速度

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

8.优化:算法/公式简单

9.尽可能使用库函数

10.避免不必要的转移

11.尽量采用三大基本结构

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

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

14.模块化、利用信息隐蔽,确保模块独立性

15.不要修补不好的程序(已经多次修改依然不好),要重新编写

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

四、输入/输出:

输入和输出信息是与用户的使用直接相关的。

输入和输出的方式和格式应当尽可能方便用户的使用。

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

1.输入:输入格式力求简单、一致,并尽可能采用自由格式输入;

使用数据结束或文件结束标志来终止输入,不要让用户来计算输入的项数或记录数。

2.输出:标志所有的输出数据,加必要的说明。给用户提示。

五、效率:

(1)代码效率

  • 先正确后效率

  • 先清晰后效率

  • 写程序前先简化表达式

  • 尽量避免使用多维数组

  • 尽量避免使用指针和复杂表

  • 不要混合使用不同的数据类型

  • 尽量使用整数运算和布尔表达式

  • 使用执行时间短的算术运算

(2)存储效率

(3)输入/输出效率

 

【程序设计质量评价】

一、正确性

1.无语法错误

2.无运行错误

3.无不适当的语句

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

5.用无效的测试数据,得到程序的正确结果——即报错

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

二、结构清晰性——结构化流程图:单入口单出口

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

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

3.是否严格控制GO TO语句

三、易修改性

四、易读性

五、简单性

 

【程序复杂性度量】

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

度量方法:

1.代码行度量法:源代码行数目:多,复杂

2.McCabe度量方法:(变成强连通图:出口增加一个虚线与入口相连,使图上的每一个结点都能到达其他结点,然后计算)

3.Halstead度量法

 

【面向对象程序设计步骤】

(1)建立软件系统的动态模型

(2)建立软件系统的静态模型

(3)实现

 

小编至今还做不到简化,再简化,把知识揉成自己的,大家可以借鉴,给出点指导建议,帮助我更好的把知识吸收成自己的,简而精~~~感谢大家指导和建议……

 

你可能感兴趣的:(【软件工程】)