跳转到内容

编程基础/模块化编程

来自维基教科书,开放的书籍,开放的世界
(重定向自 编程基础/模块化和程序布局)

模块化编程是一种软件设计技术,强调将程序的功能分离成独立的、可互换的模块,以便每个模块包含执行所需功能一个方面的所有必要内容。[1]

模块化概念

[编辑 | 编辑源代码]

编程最重要的概念之一是模块化 - 将代码行分组以创建一个可互换的模块,可以根据需要添加或删除到我们的程序中。最初的术语是子程序。其他名称包括:宏、子例程、过程、模块和函数。函数很重要,因为它们允许我们将大型复杂的程序分解成更小、更易于管理的部分。由于函数是整个程序中的一小部分,我们可以专注于我们希望每个部分(函数)执行的操作,并执行测试和编辑代码。这样,函数有助于组织代码。通常,函数分为两类

  1. 程序控制 - 用于简单地细分和控制程序的函数。这些函数对于正在编写的程序来说是唯一的。其他程序可能使用类似的函数,甚至可能使用相同名称的函数,但函数的内容几乎总是非常不同的。
  2. 特定任务 - 旨在与多个程序一起使用的函数。这些函数执行特定任务,因此可以在许多不同的程序中使用,因为其他程序也需要执行特定任务。特定任务函数有时被称为构建块。由于它们已经被编码和测试过,我们可以放心地使用它们来更有效地编写大型程序。

主程序必须建立在该程序中使用的函数的存在。根据编程语言的不同,有一种正式的方法来

  1. 定义一个函数(它的定义或它将执行的代码)
  2. 调用一个函数
  3. 声明一个函数(原型是对编译器的声明)

注意:定义和调用函数是跨编程语言的常见活动。用原型声明函数是某些编程语言特有的,包括 C 和 C++。

程序控制函数通常不彼此通信,但使用一个公共区域进行变量存储。特定任务函数的构建方式允许数据在调用程序部分(通常是另一个函数)和被调用的函数之间进行通信。这种通信数据的能力使我们能够构建一个特定任务函数,该函数可以在许多程序中使用。函数进出数据通信的规则因编程语言而异,但概念相同。传递(或通信)的数据项称为参数。因此,用语:参数传递。四种数据通信选项包括

  1. 没有输入通信,没有输出通信
  2. 没有输入通信,有一些输出通信
  3. 一些输入通信,有一些输出通信
  4. 一些输入通信,没有输出通信

程序控制函数

[编辑 | 编辑源代码]

在许多编程语言中,主程序部分是一个特殊的函数,其标识符名称为 main。函数控制程序对于一个程序来说是唯一的。“Main”是程序中代码执行开始的地方,调用函数的地方,以及程序执行结束的地方。它通常是程序中定义的第一个函数,并且是定义许多程序重要设置的地方。这些设置包括项目,例如原型声明、列出全局常量和变量,以及许多其他技术项目。定义函数 main 的代码已提供;但是,它不像程序中的其他函数那样进行原型化或通常调用。

特定任务函数

[编辑 | 编辑源代码]

我们经常需要执行一项特定任务,该任务可能在许多程序中使用。特定任务函数旨在在许多程序中使用。

静态类型语言(如 C++、C# 和 Java)中函数的通用布局

<return value data type> function identifier name(<data type> <identifier name for input value>) {
    //lines of code;
    return <value>;
}

动态类型语言(如 JavaScript 和 Python)中函数的通用布局

function identifier name(<identifier name for input value>) {
    //lines of code;
    return <value>;
}

def function identifier name(<identifier name for input value>):
    //lines of code
    return <value>

在某些编程语言中,函数有一组花括号 {} 用于标识一组语句或代码行。其他语言使用缩进或某种类型的开始和结束语句来标识代码块。函数中通常有几行代码。

编程语言要么在 main 函数之前定义特定任务函数,要么在 main 函数之后定义特定任务函数,具体取决于给定语言的编码约定。

当调用函数时,使用其标识符名称和一组括号。将要传递的任何数据项都放在括号内。在我们的程序编译并运行后,main 函数中的代码行被执行,并且当它到达特定任务函数的调用时,程序的控制权将移至该函数,并开始执行该函数中的代码行。完成代码行后,它将返回到调用它的程序中的位置(在我们的示例中是函数 main),并继续执行该函数中的代码。

程序布局

[编辑 | 编辑源代码]

大多数程序在函数之前都有几个项目,包括

  1. 文档 - 大多数程序在程序的开头都有一个注释区域,其中包含与程序相关的各种注释。
  2. 用于访问标准库函数的 include 或 import 语句。
  3. 特定语言的代码,例如命名空间引用或函数原型。
  4. 全局或模块级常量和变量(如果需要)。

关键词

[编辑 | 编辑源代码]
大括号
用于在 C++、C#、Java 和 JavaScript 等语言中标识代码块。
函数
在当今许多流行的编程语言中称为模块。
函数调用
函数使用或调用另一个函数。
函数定义
定义函数执行操作的代码。
函数原型
函数对编译器的通信声明。
标识符名称
程序员给函数或其他程序项目(如变量)指定的名称。
模块化
将一些代码行分组为一个单元的能力,可以将其包含在我们的程序中。
参数传递
数据如何在函数中进出进行通信。
程序控制
用于细分和控制程序的函数。
特定任务
旨在与多个程序一起使用的函数。

参考资料

[编辑 | 编辑源代码]
华夏公益教科书