软件工程之程序设计语言及编码

大耗子 2020年04月24日 246次浏览

文章链接:https://codemouse.online/archives/2020-04-24190820

程序设计语言

  • 用于书写计算机程序的语言,是一种实现性软件语言
  • 语法:用来表示构成语言的各个记号之间的组合规则的集合
  • 语用:用来表示构成语言的各个记号和使用者的关系
  • 语义:用来表示各个记号的特定含义,但它不涉及到使用者

程序设计语言的特性

  • 心理特性:程序员希望选择简单易学、使用方便的语言
  • 工程特性:为满足软件工程需要应考虑:代码翻译的便利、编译器的效率、软件的可复用性等
  • 应用特性:不同的程序设计语言对应不同的应用

程序设计语言的发展和分类

  • 按语言级别:低级语言和高级语言;
  • 按应用范围:通用语言和专用语言;
  • 按用户要求:过程式语言和非过程式语言;
  • 按语言所含的成分:顺序语言、并发语言和分布式语言

程序设计语言的选择

常考虑如下因素:

  • 应用领域
  • 算法和计算复杂性
  • 软件运行环境
  • 用户需求,特别是性能需求
  • 数据结构的复杂性
  • 软件开发人员的知识水平
  • 可用的编译器与交叉编译器

程序设计风格

  • 源程序文档化
  • 数据说明规范化
  • 程序代码结构化
  • 输入/输出可视化

源程序文档化

  • 在源程序中可包含一些内部文档,以帮助阅读和理解源程序

  • 在源程序中的内部文档主要包括:

    1. 标识符的命名
    2. 注解
    3. 程序的视觉组织

标识符的命名

  • 选择含义明确的名字,使其能正确提示标识符所代表的实体
  • 名字不要太长,太长会增加打字量,且易出错。必要时可使用缩写
  • 不用相似的名字,相似的名字容易混淆,不易发现错误
  • 不用关键字作标识符
  • 同一个名字不要有多个含义
  • 名字中避免使用易混淆的字符

程序的注释

  • 程序中的注解帮助人们理解程序,决不是可有可无的
  • 序言性注释:程序模块的开头主要描述:模块的功能、接口、重要的局部变量、开发历史。
  • 功能性注释:嵌在源程序体内,主要描述程序段的功能。提供从程序难以得到的信息,不是语句的重复。

程序的视觉组织

空格,空行,缩进

数据说明规范化

为了使程序中数据说明更易于理解和维护,可采用以下风格:

  1. 数据说明的次序应当规范化
  2. 说明语句中变量安排有序化
  3. 使用注解说明复杂数据结构

程序代码结构化

常用的规则如下:

  1. 在一行内只写一条语句

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

  3. 程序要能直截了当地说明程序员的用意。

  4. 让编译程序做简单的优化。

    • 尽可能使用库函数
    • 避免不必要的转移。
    • 尽量只采用三种基本结构

输入/输出可视化

  1. 输入数据都要检验,检查输入项的各种重要组合的合理性,允许使用自由格式输入,允许缺省值;
  2. 输入的步骤和操作尽可能简单,保持简单格式;
  3. 输入一批数据时,使用输入结束标志;
  4. 使用提示符提示交互输入的请求,指明可使用选择项的种类和取值范围。
  5. 对输入/输出格式有严格要求时,应保持要求的一致性;
  6. 给所有的输出加注解。