一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【JVM開發(fā)者必看】IntelliJ IDEA代碼分析實踐指南:實時糾錯、冗余檢測、自動修復(fù)等

龍智DevSecOps ? 2025-03-13 10:34 ? 次閱讀
wKgZO2fSQyyAfVp3AAGyL2AePj4863.png

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

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

查找并修正代碼中的問題

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

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

wKgZO2fSQ0aAIMNbAAHd3sbts-w173.png未處理的異常

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

wKgZPGfSQ3SACrEFAAG6XqB8mXI963.png冗余代碼

快速查看代碼中的問題

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

編輯器窗格右上角的 Inspection(檢查)微件將顯示當(dāng)前文件中的問題數(shù)量及其嚴(yán)重性。您可以點擊 Inspection(檢查)微件打開問題列表,這些問題隨后會顯示在 Problems(問題)工具窗口的 File(文件)標(biāo)簽頁中。

wKgZO2fSQ4WAbvuDAAIW5LoBY2Y728.pngInspection(檢查)微件

問題自動修正

IntelliJ IDEA 為這些檢查提供快速修復(fù),以幫助您實時修正代碼。使用 ?? (macOS) 或 Alt+Enter (Windows/Linux) 調(diào)用 Show Context Actions(顯示上下文操作)并從列表中選擇所需的操作以將其應(yīng)用于代碼。

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

wKgZO2fSQ6GAH7m5AANctDW_CZY344.png修正問題

改進代碼質(zhì)量

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

wKgZPGfSQ7aAZX0TAANbuhXfAGM515.png建議

修正整個文件中出現(xiàn)的所有特定問題

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

wKgZO2fSQ8eAYOx-AAK--Le838E522.png修正文件中的所有問題

結(jié)論

IntelliJ IDEA 可以通過在您編寫代碼時高亮顯示需要額外關(guān)注的代碼來幫助您預(yù)防問題,并幫助您找到當(dāng)前代碼中可以改進的地方。

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

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

關(guān)于 IntelliJ IDEA

JetBrains 的旗艦 IDE IntelliJ IDEA 專為高效的 JVM 開發(fā)而設(shè)計。憑借對語言和技術(shù)的深入了解以及符合人體工程學(xué)的用戶界面,IntelliJ IDEA 使開發(fā)成為愉悅的體驗!免費的開源 IntelliJ IDEA 社區(qū)版和 IntelliJIDEA Edu 也可以用于學(xué)習(xí)和教學(xué)編程。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • IDE
    IDE
    +關(guān)注

    關(guān)注

    0

    文章

    346

    瀏覽量

    47360
  • JVM
    JVM
    +關(guān)注

    關(guān)注

    0

    文章

    159

    瀏覽量

    12470
  • 代碼分析
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    5751
  • 開發(fā)者
    +關(guān)注

    關(guān)注

    1

    文章

    611

    瀏覽量

    17316
收藏 人收藏

    評論

    相關(guān)推薦

    Compact RIO開發(fā)者指南實例詳解:渦輪風(fēng)力發(fā)電機測試案例分析

    Compact RIO開發(fā)者指南實例詳解:渦輪風(fēng)力發(fā)電機測試關(guān)鍵詞:NI Labview Compact RIO開發(fā);FPGA混合編程;Real-Time VI; User interface VI
    發(fā)表于 06-22 16:25

    Mac使用IntelliJ IDEA創(chuàng)建JavaWeb項目的步驟

    筆記 —— Mac 使用IntelliJ IDEA創(chuàng)建JavaWeb項目
    發(fā)表于 05-27 12:39

    IntelliJ IDEA Default Keymap

    IntelliJ IDEA Default Keymap
    發(fā)表于 07-12 16:05 ?0次下載

    intellij idea使用教程

    IntelliJ IDEA 有很多人性化的設(shè)置我們必須單獨拿出來講解,也因為這些人性化的設(shè)置讓我們這些 IntelliJ IDEA 死忠粉更加死心塌地使用它和分享它。
    的頭像 發(fā)表于 02-08 16:19 ?3107次閱讀

    IntelliJ IDEA人性化的設(shè)置講解

    區(qū)分大小寫的情況是這樣的:比如我們在 Java 代碼文件中輸入 stringBuffer IntelliJ IDEA 是不會幫我們提示或是代碼補充的,但是如果我們輸入 StringBu
    的頭像 發(fā)表于 08-27 15:22 ?2802次閱讀
    <b class='flag-5'>IntelliJ</b> <b class='flag-5'>IDEA</b>人性化的設(shè)置講解

    JetBrains IntelliJ IDEA 適配蘋果M1 Mac

    IntelliJ IDEA 官方發(fā)布新的公告,稱已經(jīng)為早期采用準(zhǔn)備了兩個 Build 版本。這就是 IntelliJ IDEA Ultim
    的頭像 發(fā)表于 12-11 09:23 ?4106次閱讀

    HarmonyOS開發(fā)者日生態(tài)最新進展、核心代碼解析、創(chuàng)新案例分享

    、開發(fā)工具、社區(qū)共建幾個維度助力開發(fā)者能力成長和實踐創(chuàng)新。 Codelabs深度剖析與代碼動手實踐 針對
    的頭像 發(fā)表于 04-17 09:57 ?1244次閱讀

    使用Intellij IDEA的一些小技巧

    https://blog.csdn.net/linsongbin1/article/details/80211919 Intellij IDEA真是越用越覺得它強大,它總是在我們寫代碼的時候,不時
    的頭像 發(fā)表于 09-05 15:03 ?1925次閱讀

    IntelliJ IDEA 2022.2的主要更新內(nèi)容

    IntelliJ IDEA 2022.2 為遠程開發(fā)功能帶來了多項質(zhì)量改進,使其更美觀、更穩(wěn)定。從 v2022.2 開始,IntelliJ IDEA
    的頭像 發(fā)表于 08-04 10:58 ?1751次閱讀

    IntelliJ Idea開發(fā)環(huán)境安裝教程

    我們后面會在IntelliJ Idea開發(fā),因此先安裝開發(fā)環(huán)境。
    的頭像 發(fā)表于 10-17 10:53 ?1521次閱讀

    IntelliJ IDEA 2022.3發(fā)布

    IntelliJ IDEA 2022.3 正式發(fā)布,在新版本中,開發(fā)者可以通過設(shè)置切換到新 UI,即可預(yù)覽新的 IDE 外觀。此版本引入了一個新的 Settings Sync(設(shè)置同步)解決方案,用于同步和備份自定義用戶設(shè)置。此
    的頭像 發(fā)表于 12-02 10:00 ?1056次閱讀

    IntelliJ IDEA快捷鍵大全和動圖演示

    本文參考了 IntelliJ IDEA 的官網(wǎng),列舉了IntelliJ IDEA(Windows 版)的所有快捷鍵。并在此基礎(chǔ)上,為 90% 以上的快捷鍵提供了動圖演示,能夠直觀的看到
    的頭像 發(fā)表于 08-11 14:08 ?935次閱讀
    <b class='flag-5'>IntelliJ</b> <b class='flag-5'>IDEA</b>快捷鍵大全和動圖演示

    Intellij IDEA 開發(fā)工具實例

    本篇博客我們將會以Intellij IDEA 開發(fā)工具為例,所以我這里簡單談?wù)勎覀兯褂玫?b class='flag-5'>開發(fā)工具。 目前大家做Java開發(fā)的,無外乎就兩種
    的頭像 發(fā)表于 09-25 16:21 ?1056次閱讀
    <b class='flag-5'>Intellij</b> <b class='flag-5'>IDEA</b> <b class='flag-5'>開發(fā)</b>工具實例

    jrebel和idea熱部署優(yōu)勢

    開發(fā)效率: JRebel 和 IntelliJ IDEA 的熱部署可以快速將代碼變更應(yīng)用于運行中的應(yīng)用程序,節(jié)省了反復(fù)重啟服務(wù)器的時間。開發(fā)
    的頭像 發(fā)表于 12-03 15:16 ?996次閱讀

    RT-Thread開發(fā)者大會系統(tǒng)控制分論壇動手實踐指南

    將圍繞 AIoT 的發(fā)展、產(chǎn)業(yè)技術(shù)趨勢,聚焦控制、連接、行業(yè)應(yīng)用開發(fā)、邊緣計算領(lǐng)域。 通過主題演講、技術(shù)分享、應(yīng)用演示、動手實踐,助力開發(fā)者探索萬物互聯(lián)的世界。 其中,我們將在系統(tǒng)控
    的頭像 發(fā)表于 12-22 18:15 ?676次閱讀
    RT-Thread<b class='flag-5'>開發(fā)者</b>大會系統(tǒng)控制分論壇動手<b class='flag-5'>實踐</b><b class='flag-5'>指南</b>