軟體術語。
代碼複查就是研究原始碼,並從中發現錯誤。代碼複查更有效的原因是:在複查時看到的是問題本身而不是徵兆。從頭到尾複查代碼時,考慮的是程式應該做什麼。因此,當看到某些地方不正確時,就可以看到可能的問題是什麼,並立即去驗證代碼。複查的缺點是:非常耗時,而且很難恰當的進行;複查時一種技能,當然可以通過學習和實踐來提高。
代碼複查的第一步是了解自己引入的缺陷的種類,這是收集缺陷數據的主要原因。因為在下一個程式中引入的缺陷種類一般會與前面的基本類似,只要採用同樣的軟體開發方法,情況會一直如此。另一方面來說,當你有了技能和經驗或改變了過程,缺陷的類型和數目會隨之變化。但是到了一定程度後,改進就變得非常困難了。這是,就必須研究缺陷,這可以幫助你找到更好的發現和修復缺陷的方法。
如何進行代碼複查。代碼複查的目標是在軟體過程中儘可能早和儘可能多的發現缺陷,缺陷發現時間越少越好。採用表4.3描述的一個有序的檢查方法,在編譯之前進行代碼複查,是完成目標最好的方法。
表4.3代碼複查腳本
入口條件
在複查前,檢查下列產品是否已經準備好:
u需求規格說明;
u程式設計文檔;
u程式的原始碼清單;
u編碼標準;
u代碼複查檢查表;
一般性說明
使用代碼複查檢查表;
在複查時遵照代碼複查檢查表的使用說明;
在複查結束時,填寫累計、累計百分比和總結欄目;
1複查規程
首先,完成源程式編碼;
然後,在進行編譯和測試之前,列印一份源程式清單;
下一步,進行代碼複查;
進行代碼複查時,仔細檢查每一行源程式,以儘可能多地發現和修復缺陷;
2修復缺陷
修復所發現的每一個缺陷;
確保所作的修復正確無誤;
將缺陷登入在缺陷記錄日誌。
3覆蓋率複查
驗證程式設計覆蓋了需求規格說明中描述的每一個功能;
驗證程式代碼實現了所有的設計。
4程式邏輯複查
驗證程式設計在邏輯上是正確的;
驗證程式代碼正確的實現了設計中的邏輯。
5命名和類型檢查
驗證所有的名字和類型已經正確的聲明;
檢查整型、長整型和浮點型是否正確聲明。
6變數檢查
確保每個變數已初始化;
檢查上溢、下溢或越界問題。
7程式語法檢查
驗證程式代碼符合程式語言的規格說明
在複查結束時,應該有:
完整的、修復過的源程式清單;
填寫完整的時間記錄日誌;
填寫完成的缺陷記錄日誌。
編譯之前進行複查。有幾個原因說明應在編譯之前進行代碼複查:不論編譯前或編譯後,進行完整的代碼複查的時間大約相同;不論編譯前或編譯後,對檢查語法有效性的效果是一樣的;先做複查將節省大量編譯時間,若不做代碼複查,一般要花12%~15%的開發時間進行編譯,一旦使用代碼複查後,編譯時間可以縮短至3%或更少;編譯程式後,代碼一般複查很難徹底的進行;經驗證明,在編譯階段有大量的缺陷時,一般在測試階段也有許多缺陷。
建立個人代碼複查檢查表。如果想發現和改正程式中的每一個缺陷,就必須遵照一個精確的規程。檢查表可以確保遵循這個規程,它包括一系列程式的步驟。按照檢查表去作時,就知道如何進行代碼複查。
如果能夠正確使用檢查表,還能知道每個步驟發現了多少缺陷。這樣就能測量出複查過程的效率,並進一步改進檢查表。檢查表包括了個人的經驗。通過不斷的使用和改進個人檢查表,就可以幫助你用較少的時間發現這些缺陷。