高質(zhì)量子程序特點(diǎn) 子程序是具有單一功能的可調(diào)用的函數(shù)或過程。 5.1 創(chuàng)建子程序的理由 · 降低復(fù)雜性 進(jìn)行集中控制 避免重復(fù)代碼段 改善可移植性 分隔復(fù)雜操作 5.2 子程序命名是否恰當(dāng) 對(duì)于過程的名字,可以用一個(gè)較強(qiáng)的動(dòng)詞帶目標(biāo)的形式。 對(duì)于函數(shù)名字,可以使用返回值的描述。 5.3 強(qiáng)內(nèi)聚性 內(nèi)聚性指的是在一個(gè)子程序中,各種操作之間互相聯(lián)系的緊密程度。 可取的內(nèi)聚性: 功能內(nèi)聚性。 順序內(nèi)聚性。 通訊內(nèi)聚性。 臨時(shí)內(nèi)聚性。 不可取的內(nèi)聚性: 過程內(nèi)聚性。當(dāng)子程序中的操作是按某一特定順序進(jìn)行的,就是過程內(nèi)聚性。與順序內(nèi)聚 性不同,過程內(nèi)聚性中的順序操作使用的并不是相同數(shù)據(jù)。 邏輯內(nèi)聚性。當(dāng)一個(gè)子程序中同時(shí)含有幾個(gè)操作,而其中一個(gè)操作又被傳進(jìn)來的控制標(biāo)志 所選擇時(shí),就產(chǎn)生了邏輯內(nèi)聚性。 偶然內(nèi)聚性。當(dāng)同一個(gè)子程序中的操作之間無任何聯(lián)系時(shí),為偶然內(nèi)聚性。 5.4 松散耦合性 所謂耦合性指的是兩個(gè)子程序之間聯(lián)系的緊密程度。 耦合性與內(nèi)聚性是不同的。內(nèi)聚性是指一個(gè)子程序的內(nèi)部各部分之間的聯(lián)系程度,而耦合指的是子程序之間的聯(lián)系程度。 5.5 子程序的長(zhǎng)度 5.6 防錯(cuò)性編程 使用斷言 輸入垃圾不一定輸出垃圾 異常情況處理 5.7 子程序參數(shù) 確保實(shí)際參數(shù)與形式參數(shù)匹配。 按照輸入一修改一輸出的順序排列參數(shù)。這種排列方法顯示了子程序中操作進(jìn)行的順序——輸入數(shù)據(jù)、修改數(shù)據(jù)、輸出結(jié)果。 如果幾個(gè)子程序今使用了相似的參數(shù),應(yīng)按照不變的順序排列這些參數(shù)。 使用所有的參數(shù)。 把狀態(tài)和“錯(cuò)誤”變量放在最后。 不要把子程序中的參數(shù)當(dāng)作工作變量。 說明參數(shù)的接口。 應(yīng)該把一個(gè)子程序中的參數(shù)個(gè)數(shù)限制在7個(gè)左右。 考慮一個(gè)關(guān)于輸入、修改和輸出參數(shù)的命名約定。 僅傳遞子程序需要的那部分結(jié)構(gòu)化變量。 5.8 使用函數(shù) 公用編程法是指把一個(gè)函數(shù)當(dāng)作過程來使用,并返回一個(gè)狀態(tài)變量。 5.9 宏 把宏指令表達(dá)式括在括號(hào)中。 檢查表 總體問題 XXXXXXXX 防錯(cuò)性編程 XXXXXXXX 參數(shù)傳遞問題 XXXXXXXX 5.10 強(qiáng)調(diào)強(qiáng)內(nèi)聚性和松散耦合的首要原因是它們提供了較高層次的抽象性。 |
|