官术网_书友最值得收藏!

第2章 抽象層次

本章主要內(nèi)容如下:

如何以清晰的抽象層次將問題分解為多個子問題;

抽象層次如何幫助我們實現(xiàn)代碼質(zhì)量的一些支柱;

API(見2.3.1節(jié))和實現(xiàn)細節(jié);

如何用函數(shù)、類和接口將代碼分解為不同的抽象層次。

編寫代碼就是解決問題——這些問題可能是高層次的問題,例如“我們需要一個系統(tǒng),使用戶能夠共享照片”,也可能是較低層次的問題,例如“我們需要一些代碼,求兩個數(shù)字的和”。我們可能沒有意識到一個事實:在解決高層次問題時,我們通常會將其分解為幾個較小的子問題。“我們需要一個系統(tǒng),使用戶能夠共享照片”這樣的問題陳述可能意味著,我們需要解決保存照片、將其與用戶關(guān)聯(lián)并顯示等子問題。

解決問題和子問題的方法很重要,但我們解決這些問題的代碼結(jié)構(gòu)同等重要。例如,我們應(yīng)該將所有功能都放到一個龐大的函數(shù)或類中,還是將其分解為多個函數(shù)或功能?如果需要分解,我們又應(yīng)該怎么做呢?

代碼結(jié)構(gòu)是代碼質(zhì)量的根本特征之一,好的結(jié)構(gòu)往往能建立清晰的抽象層次。本章將解釋代碼結(jié)構(gòu)的含義,并說明將問題分解為不同的抽象層次并構(gòu)造代碼以反映這些層次,能夠極大地改善代碼的可讀性、模塊性、可重用性、可推廣性和可測試性。

本章和后面的章節(jié)通過許多偽代碼示例來說明討論的主題。在深入介紹這些示例之前,花一些時間解釋本書中偽代碼處理空值(Null)的慣例是很有必要的。2.1節(jié)將介紹這方面的知識。從2.2節(jié)起我們將介紹本章的主題。

主站蜘蛛池模板: 黄梅县| 休宁县| 阳山县| 老河口市| 新民市| 洪江市| 全州县| 嘉祥县| 名山县| 阜康市| 枣强县| 石家庄市| 库尔勒市| 太原市| 翁牛特旗| 喀喇沁旗| 新竹市| 苍梧县| 天津市| 武乡县| 拉萨市| 北流市| 竹山县| 黑山县| 儋州市| 平潭县| 乌海市| 南康市| 宁海县| 庄浪县| 曲阜市| 文化| 炎陵县| 屯门区| 开鲁县| 灌云县| 镇江市| 咸宁市| 台山市| 乳源| 繁峙县|