原創|行業資訊|編輯:龔雪|2016-02-18 12:40:21.000|閱讀 168 次
概述:C/C++程序員的工作面臨著比其他語言的程序員不同的挑戰和領域。真正的新項目中使用C++是罕見的。如今C++項目通常涉及修改或現有系統的延伸。為一個新的應用程序重構可用的代碼,或用新的方法整合現有模塊。最常見的是,一個團隊從不同的組,外部供應商/承包商或開源社區中得到了一堆C或C ++代碼。這些項目必然需要大量修改一些不匹配的代碼,使得它們可以使用。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
本文中,我們將要研究正確性、一致性和監控多種技術。當不同團隊的程序員在頂級的代碼基礎上開發,會減少錯誤的風險,還可以提高項目的穩定性和質量。如何做:
在不執行的情況下,想搞清楚一個bug,或者想了解性能,靜態分析的意義是非常重大的。這是代碼審查的基石——用頭腦閱讀和理解代碼,并用眼睛找出其中的缺陷。同行代碼審查是查找代碼缺陷的最佳方法,可以平均除去60%的缺陷,最高可達到90%。
正確實現自動化的靜態分析能有效地在短時間內識別代碼的缺點和錯誤。例如,一個經常會遇到的錯誤是:沒有意識到浮點數不能與操作符相比,不同的是,整數或類可以執行操作符:
bool SetClient::contains(double d, SetType & h) { for (SetType::const_iterator it = h.begin(); it != h.end(); ++it) { // Pointer to a double of value d? if (*((double*)((*it)->getValue())) == d) { return true; } } return false; }
原文翻譯自:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn