2010-05-21 48 views
3

我使用Visual Studio 2010中,在我的C++/CLI項目有兩個代碼分析設置:您是否建議在Build上啓用C/C++的代碼分析?

  1. 上構建啓用代碼分析
  2. 啓用代碼分析C/C++的編譯

我的問題是關於第二個設置。

我已啓用它,它需要很長時間才能運行,並且找不到太多。

您是否建議啓用此功能?爲什麼?

回答

2

從來沒有爲我做過任何事情。從理論上講,它應該有助於抓住邏輯錯誤,但我從未發現它會報告任何事情。

2

我們使用LINT爲純C++應用程序(無.NET,無C++/CLI)進行靜態代碼分析。 這與您正在使用的不同,但可能應用相同的原則。

我們執行林特這樣的:

  • 在構建,只有更改源(CPP文件)通過LINT運行。可能有更多的文件正在重新編譯(如果頭文件被更改),但只有更改後的.CPP文件通過LINT運行。
  • 對連續集成服務器上的所有文件運行靜態代碼分析。如果發現有問題,請將錯誤郵寄給最近對版本控制系統進行更改的開發人員或主開發人員。

您還可以做的是對所有提交給版本控制系統的文件執行靜態代碼分析。例如。在Subversion中,你可以在提交觸發器中執行此操作。

6

您指定的兩個選項分別控制代碼分析在託管C++和本機C++上的自動執行。

  • 代碼分析託管代碼是由FXCop引擎分析生成的IL執行的。

  • 代碼本地代碼分析是在編譯期間由PREFast引擎分析C++源代碼執行的。

強烈鼓勵你需要你的開發在檢查之前,會對他們的代碼運行CA如果不這樣做,你是:

  1. 延緩確保您的代碼沒有已知的漏洞和問題,這些漏洞和問題可能已被系統地從您的產品源中刪除。

  2. 拒絕開發者通過漸進式學習他們應該使用哪些代碼來提高他們的技能而不是正在編寫和爲什麼。

  3. 賣空你的客戶,因爲他們是那些在使用你的產品時會遇到崩潰和安全問題的人。

此外,如果你正在寫原生C++和尚未計劃開始裝飾與SAL註釋你的代碼,然後,坦率地說,有人在你工作的地方值得一拖出去到街上和羞辱!有一些偉大的東西在下一個版本的SAL註釋中很快就會出現 - 現在就開始吧,並且是的方式比你的競爭對手更快! :)

相關問題