〔五〕 =====[ 變量、結構 ]=====
¹5-1 :去掉沒必要的公共變量
說明:公共變量是增大模塊間耦合的原因之一,故應減少沒必要的公共變量以降低模塊間的耦合度。
¹5-2 :仔細定義并明確公共變量的含義、作用、取值范圍及公共變量間的關系
說明:在對變量聲明的同時,應對其含義、作用及取值范圍進行注釋說明,同時若有必要還應說明與其它變量的關系。
¹5-3 :明確公共變量與操作此公共變量的函數或過程的關系,如訪問、修改及創建等
說明:明確過程操作變量的關系后,將有利于程序的進一步優化、單元測試、系統聯調以及代碼維護等。這種關系的說明可在注釋或文檔中描述。
示例:在源文件中,可按如下注釋形式說明。
RELATION System_Init Input_Rec Print_Rec Stat_Score
Student Create Modify Access Access
Score Create Modify Access Access, Modify
注:RELATION為操作關系;System_Init、Input_Rec、Print_Rec、Stat_Score為四個不同的函數;Student、Score為兩個全局變量;Create表示創建,Modify表示修改,Access表示訪問。
其中,函數Input_Rec、Stat_Score都可修改變量Score,故此變量將引起函數間較大的耦合,并可能增加代碼測試、維護的難度。
¹5-4 :當向公共變量傳遞數據時,要十分小心,防止賦與不合理的值或越界等現象發生
說明:對公共變量賦值時,若有必要應進行合法性檢查,以提高代碼的可靠性、穩定性。
¹5-5 :防止局部變量與公共變量同名
說明:若使用了較好的命名規則,那么此問題可自動消除。
¹5-6 :嚴禁使用未經初始化的變量作為右值
說明:特別是在C/C++中引用未經賦值的指針,經常會引起系統崩潰。
½5-1 :構造僅有一個模塊或函數可以修改、創建,而其余有關模塊或函數只訪問的公共變量,防止多個不同模塊或函數都可以修改、創建同一公共變量的現象
說明:降低公共變量耦合度。
½5-2 :使用嚴格形式定義的、可移植的數據類型,盡量不要使用與具體硬件或軟件環境關系密切的變量
說明:使用標準的數據類型,有利于程序的移植。
示例:如下例子(在DOS下BC3.1環境中),在移植時可能產生問題。
void main()
{
register int index; // 寄存器變量
_AX = 0x4000; // _AX是BC3.1提供的寄存器“偽變量”
... // program code
}
文章來源于領測軟件測試網 http://www.kjueaiud.com/