软件编码

编码目的

把模块的过程性描述翻译为用选定的程序设计语言书写的源程序(源代码)

编码依据

概要设计和详细设计说明文档

编码任务

理解概要设计和详细设计说明书
遵循编码原则和风格进行翻译,形成源代码

程序设计语言的分类

程序设计语言是人与计算机通信的媒介
机器语言→汇编语言→ 高级语言

基础语言

基础语言是通用语言,适用性强,应用面广,历史悠久

  • FORTRAN(公式翻译):使用最早的高级语言,主要用于科学和工程计算,缺点是数据类型欠
  • COBOL(面向商业的公用语言),主要用于商业,使用接近自然语言的语句,缺点是程序不够紧凑,计算功能弱,编译速度慢
  • BASIC语言:交互式语言,它广泛应用微型计算机系统中
  • ALGOL语言:它是所有结构化语言的前驱
结构化语言

作为基础语言的ALGOL语言是结构化语言的基础,衍生出了

  • Pascal语言:功能强,数据类型丰富,是一门自编译语言,是第一个系统体现结构化程序设计概念的高级语言
  • C语言:最初作为UNIX操作系统的主要语言开发,现已成功移植到多种微型与小型计算机上。它可移植性好,具有高级语言的优点,又具有低级语言的许多特点
  • Ada语言:美国国防部大力扶持开发,主要适用于适时,并发和嵌入式系统的语言,在Pascal基础上开发,功能更强,更复杂,它是一个充分体现软件工程思想的语言
面向对象语言

C++语言
C++增加了数据抽象,继承,封装,多套性,消息传递等概念实现的机制,又于c语言兼容,从而是他成为一种灵活高效,可移植的面向对象的语言
Java语言
不再支持运算符重载,多继承级许多易于混淆和较少使用的特性,增加了内存空间自动垃圾收集的功能,使程序员不必考虑内存管理问题

程序设计语言选择标准

理想标准
  • 为了使程序容易测试金额维护以减少软件开发成本,选用的高级语言应该有比较理想的模块化机制,以及可读性好的控制结构和数据结构
  • 为了便于调试和提高软件的可靠性,语言的特点应该使编译程序能够尽可能的发现程序中错误
  • 为了降低软件开发和维护的成本,选用的语言应该有良好的独立编译机制
实用标准
  • 待开发软件的应用领域
  • 系统用户要求
  • 软件的运行环境
  • 软件开发人员的知识
  • 软件的可移植性要求

程序设计风格

  • 编程风格:在不影响性能的前提下,有效地编排和组织程序以提高可读性和可维护性
  • 良好的程序设计风格可以减少编码的错误,减少读程序地时间,从而提高软件地质量和开发效率
编码遵循五方面规划?
程序内部地文档
  • 标识符地选取→选取意义直观地名字,选取名字适当
  • 增加注解→注解是软件开发人员于源程序地读者之间的重要的通信方式之一,注解分为序言性注解和功能性注解

👉序言性注解:描述模块的整体功能,主要算法,接口特点,重要数据含义以及开发简史

👉功能性注解:主要描述地是程序块,而不是解释每行代码。适当空行,空格,使读者容易区分,注解内容正确

  • 好的程序布局→应当适当利用阶梯形式,是程序逻辑结构清晰易读
数据说明
  • 数据说明地次序应该标准化
  • 多个变量名在一个语句说明,按字典顺序
  • 复杂的数据结构,应加注解说明用程序设计语言实现这个数据结构的方法和特点
语句构造

原则:

  • 不要为了节省空间,把多个语句写在同一行
  • 避免复杂的条件测试,尤其减少对“非”条件的测试
  • 避免使用循环嵌套和条件嵌套语句
  • 利用括号使运算次序清晰直观
  • 变量说明不要遗漏,变量的类型,长度,存储及初始化要正确
输入输出

规则:

  • 对所有输入数据进行校验,保证输入有效
  • 检查输入项重要组合合法性
  • 保持输入格式简单
  • 使用数据或文件结束标记,不能要求用户自己指定输入项或记录数
  • 人机交互输入时,要详细说明可用的选择范围和边界值
  • 程序设计语言对输入和输出格式有严格要求时,应保持输入格式与输入语句的要求一致
  • 输出报表的设计符合用户要求,输出数据尽量表格化,图形化
  • 给所有的输出数据加标志,并加以必要的 注解
效率(和存储容量)

效率只要是指处理机工作时间和内存容量这两方面的利用率
原则

  • 效率是属于性能的要求,因此应该在软件需求分析阶段确定效率的要求
  • 良好的设计可以提高效率
  • 提高程序的效率和好的编码风格要保持一致,不应该一味追求程序效率

效率问题

👉代码效率

  • 直接由详细设计阶段良好的数据结构与算法决定,在把详细设计结果用程序来实现时,注意以下原则:
  • 编码之前,简化算术和逻辑表达式
  • 仔细研究代码中包含的多重嵌套循环,尽可能将某些语句和表达式放在循环体外面
  • 避免使用多维数组,指针和复杂的表格
  • 尽量使用执行时间短的算数运算
  • 避免使用混合使用的数据类型
  • 尽量使用算数表达式和布尔表达式
  • 尽量选用等价的效率高的算法

👉存储效率
软件的存储器效率与操作系统的分页性能直接有关,要注意减少页面调度,选用有紧缩存储器特性的编译程序

👉输入/输出的效率
用户和计算机之间的通信时通过输入/输出来完成的

  • 对所有的输入/输出操作都应该有缓冲,有利于减少通信的开销
  • 对辅助存储器(如磁盘),选择尽可能简单大可行的访问方式
  • 对辅助存储其输入/输出,以块维单位进行存取
  • 任何不易理解的,对改善输入/输出关系不大的措施时不可取的

花神博客生涯之软件工程(5)结束了哦~
接下来会持续更新(⊙o⊙)!
在这里插入图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐