软件实现
Created: 2023-05-16 Tue 02:07
程序编码阶段的 任务 是:
将软件的 详细设计 转换成用程序设计语言实现的 程序代码 。
因此,程序设计语言的 性能 和 设计风格 对于程序设计的 效能 和 质量 有着直接的关系。 语言的 工程特性 对 软件开发项目的成功与否 也有着重要的影响。
从以下 角度 对程序设计语言的 性能 进行讨论:
%%{init: { 'theme': 'forest', 'fontFamily': 'Times New Roman, KaiTi' }}%%
flowchart TB
A["讨论性能的角度"]
A --> B["软件心理学"]
A --> C["软件工程"]
B --> BA["使用方便"]
B --> BB["简明易学"]
B --> BC["......"]
C --> CA["可移植性"]
C --> CB["可维护性"]
C --> CC["......"]
Figure 1: 程序设计语言的性能
软件心理学 研究的任务是:
- 关注人们对软件所关心的某些方面,如
- 使用方便
- 简明易学
- 可靠性
- 减少故障发生率
- 使用户更加满意
- ……
软件工程的观点 下程序设计语言的特性应着重考虑 软件开发项目的需要 。
为某个特定开发项目选择编程语言时, 既要从 技术角度 、 工程角度 、 心理学角度 评价和比较各种语言的 适用程度 , 又必须考虑 现实可能性 。
阅读程序 是 软件开发和维护 过程中的一个重要组成部分, 而且 读程序的时间比写程序的时间还要多 。 因此, 程序实际上也是一种供人阅读的文章 。
源程序文档化 包括 标识符的命名 、 安排注释 以及 程序的视觉组织 等。
如下面的注释行仅仅重复了后面的语句, 对于理解它的工作没有太大作用。
/* Add amount to total */
total = amount + total;
如果注明把 月销售额 计入 年度总额 ,可方便读者理解语句意图。
/* Add monthly sales to annual total */
total = amount + total;
// test.c
#include <stdio.h>
void main() {
float n, s = 0, t = 1;
for (n = 1; n <= 20; n++) {
t *= n;
s += t;
}
printf("1! + 2! + 3! + ... + 20! = %e\n", s);
}
gcc -o test test.c
gcc -o test test.c
./test
gcc -o test test.c
./test
# 1! + 2! + 3! + ... + 20! = 2.561327e+18
为了使程序中 数据说明 更易于 理解 和 维护 ,在编写程序时, 需要注意 数据说明的风格 。
int size, length, width, cost, price;
int cost, length, price, size, width;
else
语句和 if-then-if
语句 。规范 涉及 版面 、 注释 、 标识符命名 、 变量使用 、 代码可测性 、 程序效率 、 质量保证 、 代码编译 、 单元测试 、 程序版本与维护 。
程序的效率 是指 程序的执行速度 及 程序所需占用内存的存储空间 。
任何对效率无重要改善, 且对程序的 简单性 、 可读性 和 正确性 不利的程序设计方法都是不可取的。