Stories

Detail Return Return

【JVM開發者必看】IntelliJ IDEA代碼分析實踐指南:實時糾錯、冗餘檢測、自動修復等 - Stories Detail

靜態代碼分析是指在不實際運行代碼的情況下掃描代碼以發現潛在問題。IntelliJ IDEA中的檢查可以在您編譯項目之前檢測到其中的潛在問題。IDE 可以高亮顯示各種問題、定位死代碼、發現可能的Bug和拼寫問題,並改善整體代碼結構。

本系列博文將介紹IntelliJ IDEA中代碼分析的幾種方式,以幫助您查找並修正代碼中的問題。接下來,一起來了解IDE如何幫助您在處理代碼時預防問題。

查找並修正代碼中的問題

當您在IntelliJ IDEA中編寫代碼時,IDE會提醒您代碼中需要注意的區域併為您高亮顯示。下面來看一些示例。

如果您的代碼無法編譯,IntelliJ IDEA會在不需要您先編譯的情況下通知您。例如,下面的代碼將無法編譯,因為 FileReader 可能會拋出 FileNotFoundException,它是一個需要在方法中聲明的受檢異常。您會看到這段代碼被高亮顯示,當您懸停在上方時,IntelliJ IDEA會告訴您問題出在哪裏。此外,它還會通過在方法簽名中添加異常為您提供如何修正的建議。


未處理的異常

IntelliJ IDEA 還會在代碼冗餘時告知您。在下面的示例中,new File 以灰色顯示。這是因為它是冗餘的,可被替換為文件名。


冗餘代碼

快速查看代碼中的問題

如上面所見,IntelliJ IDEA 會高亮顯示代碼中的潛在問題。如果您想詳細瞭解這些問題,可以將光標移動到編輯器中高亮顯示的代碼上,將鼠標懸停在右側裝訂區域中的錯誤條紋上,或者點擊左側的燈泡圖標。

編輯器窗格右上角的 Inspection(檢查)微件將顯示當前文件中的問題數量及其嚴重性。您可以點擊 Inspection(檢查)微件打開問題列表,這些問題隨後會顯示在 Problems(問題)工具窗口的 File(文件)標籤頁中。

Inspection(檢查)微件
Inspection(檢查)微件

問題自動修正

IntelliJ IDEA 為這些檢查提供快速修復,以幫助您實時修正代碼。使用 ⌥⏎ (macOS) 或 Alt+Enter (Windows/Linux) 調用 Show Context Actions(顯示上下文操作)並從列表中選擇所需的操作以將其應用於代碼。

如果代碼中存在多個錯誤和警告,可以使用 F2 導航到下一個問題,或者使用 Shift+F2 導航到上一個問題。這樣,您可以逐一修正每個問題。
修正問題

改進代碼質量

即使代碼中沒有問題,IntelliJ IDEA 仍然可能會提供一些關於如何改進代碼的建議。使用 Show Context Actions(顯示上下文操作)(macOS 上為 ⌥⏎,Windows/Linux 上為 Alt+Enter)將建議應用於您的代碼。例如,您可以嘗試新的慣用法,例如使用 forEach 代替 for 循環,或使用 stream 代替 while 循環,甚至使用 try-with-resources 語句代替親自關閉 BufferedReader。
建議
建議

修正整個文件中出現的所有特定問題

如果同一問題在同一文件中多次出現,您無需逐一修正!IntelliJ IDEA 還可以修正文件中多個位置的特定問題。使用 Show Context Actions(顯示上下文操作)(macOS 上為 ⌥⏎,Windows/Linux 上為 Alt+Enter)時,點擊建議右側的三個點,將該建議應用於整個文件。
修正文件中的所有問題
修正文件中的所有問題

結論

IntelliJ IDEA 可以通過在您編寫代碼時高亮顯示需要額外關注的代碼來幫助您預防問題,並幫助您找到當前代碼中可以改進的地方。

IntelliJ IDEA 還可以幫助您解決整個項目中的問題,而不僅僅是您當前正在處理的文件。

本博文英文原作者:Marit van Dijk

關於 IntelliJ IDEA

JetBrains 的旗艦 IDE IntelliJ IDEA 專為高效的 JVM 開發而設計。憑藉對語言和技術的深入瞭解以及符合人體工程學的用户界面,IntelliJ IDEA 使開發成為愉悦的體驗!
免費的開源 IntelliJ IDEA 社區版和 IntelliJIDEA Edu 也可以用於學習和教學編程。
諮詢JetBrains授權代理-龍智,進一步瞭解&試用 IntelliJ IDEA:

官網:www.shdsd.com
電話:400-666-7732
郵箱:marketing@shdsd.com

user avatar u_16502039 Avatar best_6455a509a2177 Avatar
Favorites 2 users favorite the story!
Favorites

Add a new Comments

Some HTML is okay.