parasoft Jtest 使用教程:代碼規范靜態分析Suppressions(禁止)概念解析
代碼規范靜態分析
Jtest 通過靜態地分析代碼,來執行代碼規范靜態分析,以檢查與指定代碼規范規則的一致性。此分析旨在通過以下措施防止錯誤,并改進代碼質量:
- 檢測源碼中明顯或潛在的缺陷。
- 防止使用可能有損安全性的代碼。
- 實施組織設計準則、規范(專用于應用程序的、專門用途的或專用于平臺的)、以及從已知的特定錯誤中概括出來的錯誤預防準則。
- 通過改進類設計和代碼組織,而改進代碼可維護性。
- 通過應用常見的格式化、命名以及其它風格方面的約定,提高代碼可讀性。
Jtest 已預先配置了內建的規則集,以執行代碼規范靜態分析。缺省情況下,大多數代碼規范檢查的Test Configurations(測試配置)中啟用的規則,已顯示出能快速而顯著地提高代碼的質量。遵循這一核心準則集的代碼運行更快、更安全、更易維護,出現功能問題的可能性較小。
除了提供預先配置的規則集以外,Jtest 還允許您定義自己的規則集,包括自定義規則,以便實施特定于您的組織的代碼規范策略。為幫助團隊決定要遵循哪些規則,規則按主題分類(例如,安全性、優化、初始化等等),并按嚴重性分級(嚴重性是指檢測到的問題將導致錯誤的可能性)。
如需了解 Jtest 代碼標準規則方面的更多信息,請選擇 “Jtest > Help(Jtest > 幫助)”,打開“Jtest Static Analysis Rules”(《Jtest 靜態分析規則》)一書,然后瀏覽可用的規則描述文件。
Jtest 還能檢查用戶以 RuleWizard 模塊所設計的任意數量自定義規則。有了 RuleWizard,就能以圖形化的方式創建規則(通過創建流程圖形方式的規則表示法),或者自動創建規則(通過提供演示樣本規則違例的代碼)。通過創建和檢查自定義規則,團隊可以驗證獨特的項目和組織需求,并防止最常見錯誤的重復出現。
Suppressions(禁止)
Suppressions(禁止)用來防止 Jtest 對額外出現的特定靜態分析任務進行報告(可能會為單個規則報告多項任務)。禁止消息會發送到專門的Suppressions(禁止)視圖,而非 Jtest 視圖;這就能讓你按需要監控那些違例,而把主要結果區域集中于其它錯誤。
當您通常想要遵循某條規則、但決定在少數異常情況下忽略該規則時,請使用suppressions(禁止)。通過使用suppressions,您可以繼續檢查代碼是否遵循該規則,而不會接收到與故意違反規則有關的重復消息。如果您不想接收到某一特定規則違例的任何錯誤消息,那么我們您建議修改Test Configurations(測試配置),這樣的話配置就不會再檢查該條規則。
請注意,Suppressions(禁止)設置是獨立于Test Configuration的。為避免沖突,請記住:
- Test Configuration定義了在靜態分析期間檢查的規則集。
- Suppressions(禁止)定義了哪些靜態分析結果應在 Jtest 視圖和報告中可見。
這就意味著,分析期間在Test Configuration中所選擇的規則會接受檢查,但匹配Suppressions(禁止)條件的結果將不會顯示出來。
小技巧:
Suppressions(禁止)是基于消息,而非基于規則。Suppressions(禁止)可防止對特定的靜態分析任務進行報告(例如,修正發生在Y行的X規則的違例);但Suppressions(禁止)并不阻止對某條規則的所有違例進行報告。
查看更多parasoft測試產品
獲取更多活動信息