開發(fā)人員通常需要各種“助手”——包括靜態(tài)代碼分析器,利用它們可以在開發(fā)的早期階段發(fā)現(xiàn)并修復有缺陷的代碼。感興趣的同學可以參加java培訓,你可以了解一些靜態(tài)分析器并學會使用它們。
IntelliJ IDEA內置分析器
IntelliJ
IDEA中內置的Java代碼靜態(tài)分析器與專門的靜態(tài)分析工具一樣好。通過檢查來搜索可疑、雜亂或有缺陷的代碼片段。他們使用各種現(xiàn)代靜態(tài)分析方法:數(shù)據(jù)流分析和模式匹配。
由于靜態(tài)分析一直在代碼編輯模式下運行,因此在IntelliJ
IDEA中,你可以在錯誤發(fā)生幾秒鐘后修復錯誤,編輯器突出顯示有缺陷的代碼片段。
SonarJava
SonarJava是SonarSource提供的Java靜態(tài)代碼分析器,它將此工具定位為其他工具中最好的一個。在java培訓中,也有關于這個分析器的學習與使用。SonarJava
的特征有:
150+錯誤檢測規(guī)則;
350+檢測代碼氣味的規(guī)則;
40+檢測潛在漏洞的規(guī)則;
與Maven、Gradle、Ant、Eclipse、IntelliJ IDEA、VS代碼的集成;
能夠擴展自定義診斷規(guī)則;
SAST專用工具:大多數(shù)診斷規(guī)則是根據(jù)CWE、CERT、OWASP制定的。
PVS-Studio
PVS-Studio是基于Spoon開源庫。它接收源代碼作為輸入,建立了一個具有語義信息的設計良好的AST模型。
目前,這個分析器使用超過105條診斷規(guī)則來檢測各種代碼缺陷。它們包括打字錯誤、取消對空引用的引用、無法訪問的代碼、數(shù)組索引超出范圍、違反方法使用約定等。通過參加java培訓,你能在短時間學會java的很多知識和技能,包括靜態(tài)分析器的使用。
PMD
PMD是一個開源的靜態(tài)分析器。它檢測常見的開發(fā)錯誤:未使用的變量、空塊、創(chuàng)建不必要的對象等等。
盡管PMD分析了源代碼,但還是建議在分析之前構建項目。這允許提取有關所分析代碼中使用的類型的信息。
如果我們查看所有的診斷規(guī)則,那么PMD更關注于解決編碼風格問題和檢測明顯錯誤。診斷規(guī)則可能相互矛盾,因此你需要在使用分析儀之前對其進行配置。
到目前為止,有許多工具可用,它們各有優(yōu)缺點,但不要只停留在一個分析器上,使用幾個相互補充的分析器-它們可以創(chuàng)建一個強大的屏障,保護你的代碼不受bug和漏洞的影響。想學習怎么使用這些分析器,不妨報個java培訓班,有經(jīng)驗豐富的專業(yè)講師線下面授指導教學,及時解決學習上的問題,讓你獲得快速提升。