這篇文章主要介紹PMD 6.36.0的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供來安網(wǎng)站建設(shè)、來安做網(wǎng)站、來安網(wǎng)站設(shè)計(jì)、來安網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、來安企業(yè)網(wǎng)站模板建站服務(wù),10多年來安做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
PMD 是一個(gè)代碼分析器,能夠幫助發(fā)現(xiàn)常見的編程問題,比如未使用的變量、空的 catch 塊、不必要的對(duì)象創(chuàng)建等等。最初僅支持 Java 代碼,目前還可支持 JavaScript、Salesforce.com Apex 和 Visualforce、PLSQL、Apache Velocity、XML 和 XSL 。
PMD 6.36.0 正式發(fā)布,本次更新內(nèi)容如下:
改進(jìn)的增量分析
長(zhǎng)期以來,增量分析一直幫助我們的用戶獲得了更快的分析結(jié)果,然而,它的實(shí)現(xiàn)在檢測(cè)運(yùn)行時(shí)和類型解析類路徑的變化時(shí)往往過于謹(jǐn)慎,產(chǎn)生不必要的緩存失效。我們現(xiàn)在已經(jīng)改進(jìn)了啟發(fā)式方法,以消除一些錯(cuò)誤的無效,并略微加快了緩存的的使用。
PMD 現(xiàn)在將忽略:
類路徑中的非類文件和被引用的 jar/zip 文件;
更改 jar / zip 中文件條目的順序;
jar / zip 中文件元數(shù)據(jù)的更改;
新規(guī)則
新的 Apex 規(guī)則[AvoidDebugStatements](
你可以像這樣嘗試這個(gè)規(guī)則:
新的 Apex 規(guī)則[InaccessibleAuraEnabledGetter](
你可以像這樣嘗試這個(gè)規(guī)則:
重命名的規(guī)則
Java 規(guī)則 BadComparison 已被重命名為 ComparisonWithNaN,以更好地反映該規(guī)則實(shí)際檢測(cè)的內(nèi)容。
修正的問題
(1)apex
避免調(diào)試語(yǔ)句,因?yàn)樗绊懶阅埽?/p>
新增規(guī)則,以檢測(cè)不可訪問的 AuraEnabled 獲取器;
CognitiveComplexity - "else if" 的增量不正確;
(2)core
錯(cuò)誤加載樣式表 cpdhtml.xslt;
在 SARIF 報(bào)告中添加 fullDescription 和標(biāo)簽;
(3)java-bestpractices
#3340: [java] NullPointerException applying rule GuardLogStatement
(4)java-bestpractices
GuardLogStatement:編譯時(shí)常量參數(shù)誤報(bào)
UnusedAssignment 在增量 expr 中使用時(shí)報(bào)告未使用的變量;
UnusedAssignment 在報(bào)告未使用的變量時(shí)誤報(bào);
LiteralsFirstInComparisons 兩個(gè)常量的誤報(bào);
JUnitTestsShouldIncludeAssert 應(yīng)該支持 Junit 5;
NullPointerException 應(yīng)用規(guī)則 GuardLogStatement;
(5)java-代碼樣式
更新 UnnecessaryImport 以識(shí)別 javadoc @exception 標(biāo)簽中導(dǎo)入類型的用法;
以上是“PMD 6.36.0的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!