程式設計基礎/模組化程式設計
模組化程式設計是一種軟體設計技術,強調將程式的功能分離成獨立的、可互換的模組,以便每個模組包含執行所需功能一個方面的所有必要內容。[1]
程式設計最重要的概念之一是模組化 - 將程式碼行分組以建立一個可互換的模組,可以根據需要新增或刪除到我們的程式中。最初的術語是子程式。其他名稱包括:宏、子例程、過程、模組和函式。函式很重要,因為它們允許我們將大型複雜的程式分解成更小、更易於管理的部分。由於函式是整個程式中的一小部分,我們可以專注於我們希望每個部分(函式)執行的操作,並執行測試和編輯程式碼。這樣,函式有助於組織程式碼。通常,函式分為兩類
- 程式控制 - 用於簡單地細分和控制程式的函式。這些函式對於正在編寫的程式來說是唯一的。其他程式可能使用類似的函式,甚至可能使用相同名稱的函式,但函式的內容幾乎總是非常不同的。
- 特定任務 - 旨在與多個程式一起使用的函式。這些函式執行特定任務,因此可以在許多不同的程式中使用,因為其他程式也需要執行特定任務。特定任務函式有時被稱為構建塊。由於它們已經被編碼和測試過,我們可以放心地使用它們來更有效地編寫大型程式。
主程式必須建立在該程式中使用的函式的存在。根據程式語言的不同,有一種正式的方法來
- 定義一個函式(它的定義或它將執行的程式碼)
- 呼叫一個函式
- 宣告一個函式(原型是對編譯器的宣告)
注意:定義和呼叫函式是跨程式語言的常見活動。用原型宣告函式是某些程式語言特有的,包括 C 和 C++。
程式控制函式通常不彼此通訊,但使用一個公共區域進行變數儲存。特定任務函式的構建方式允許資料在呼叫程式部分(通常是另一個函式)和被呼叫的函式之間進行通訊。這種通訊資料的能力使我們能夠構建一個特定任務函式,該函式可以在許多程式中使用。函式進出資料通訊的規則因程式語言而異,但概念相同。傳遞(或通訊)的資料項稱為引數。因此,用語:引數傳遞。四種資料通訊選項包括
- 沒有輸入通訊,沒有輸出通訊
- 沒有輸入通訊,有一些輸出通訊
- 一些輸入通訊,有一些輸出通訊
- 一些輸入通訊,沒有輸出通訊
在許多程式語言中,主程式部分是一個特殊的函式,其識別符號名稱為 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),並繼續執行該函式中的程式碼。
大多數程式在函式之前都有幾個專案,包括
- 文件 - 大多數程式在程式的開頭都有一個註釋區域,其中包含與程式相關的各種註釋。
- 用於訪問標準庫函式的 include 或 import 語句。
- 特定語言的程式碼,例如名稱空間引用或函式原型。
- 全域性或模組級常量和變數(如果需要)。
- 大括號
- 用於在 C++、C#、Java 和 JavaScript 等語言中標識程式碼塊。
- 函式
- 在當今許多流行的程式語言中稱為模組。
- 函式呼叫
- 函式使用或呼叫另一個函式。
- 函式定義
- 定義函式執行操作的程式碼。
- 函式原型
- 函式對編譯器的通訊宣告。
- 識別符號名稱
- 程式設計師給函式或其他程式專案(如變數)指定的名稱。
- 模組化
- 將一些程式碼行分組為一個單元的能力,可以將其包含在我們的程式中。
- 引數傳遞
- 資料如何在函式中進出進行通訊。
- 程式控制
- 用於細分和控制程式的函式。
- 特定任務
- 旨在與多個程式一起使用的函式。