為了提高程序的可讀性、可重用性等,逐漸出現(xiàn)了將程序開發(fā)中經(jīng)常用到的相同的功能,比如數(shù)學函數(shù)運算、字符串操作等,獨立出來編寫成函數(shù),然后按照相互關系或應用領域匯集在相同的文件里,這些文件構成了函數(shù)庫。
函數(shù)庫是一種對信息的封裝,將常用的函數(shù)封裝起來,人們不必知道如何實現(xiàn)它們。只需要了解如何調用它們即可。函數(shù)庫可以被多個應用程序共享,在具體編程環(huán)境中,一般都有一個頭文件相伴,在這個頭文件中以標準的方式定義了庫中每個函數(shù)的接口,根據(jù)這些接口形式可以在程序中的任何地方調用所需的函數(shù)。
由于函數(shù)、庫、模塊等一系列概念和技術的出現(xiàn),程序設計逐漸變成如圖所示的風格。程序被分解成一個個函數(shù)模塊,其中既有系統(tǒng)函數(shù),也有用戶定義的函數(shù)。通過對函數(shù)的調用,程序的運行逐步被展開。閱讀程序時,由于每一塊的功能相對獨立,因此對程序結構的理解相對容易,在一定程度上緩解了程序代碼可讀性和可重用件的矛盾,但并未徹底解決矛盾。隨著計算機程序的規(guī)模越來越大,這個問題變得更加尖銳,于是出現(xiàn)了另一種編程風格——結構化程序設計。
在結構化程序設計中,任何程序段的編寫都基于3種結構:分支結構、循環(huán)結構和順序結構。程序具有明顯的模塊化特征,每個程序模塊具有惟一的出口和入口語句。結構化程序的結構簡單清晰,模塊化強,描述方式貼近人們習慣的推理式思維方式。因此可讀性強,在軟件重用性、軟件維護等方面都有所進步,在大型軟件開發(fā)尤其是大型科學與工程運算軟件的開發(fā)中發(fā)揮了重要作用。因此到目前為止,仍有許多應用程序的開發(fā)采用結構化程序設計技術和方法。即使在目前流行的面向對象軟件開發(fā)中也不能完全脫離結構化程序設計。
|