JetBrains一直致力于提供使開發人員的工作愉快、富有創意和發人深省的工具。JetBrains IDE旨在理解代碼并為改進代碼提供有價值的建議。在編輯器中提供這些提示非常有用。但是,現代以CI為中心的工作流需要在構建管道中設置可靠的質量門。考慮到這一點,我們創建了Qodana 

 

Qodana是市場上唯一一個使用JetBrains IDE原生檢查的代碼質量平臺,并將JetBrains IDE的智能擴展到CI服務器。 

 

我們構建了這個強大的靜態分析引擎,使開發團隊能夠在整個企業范圍內自動化代碼審查、構建質量門和執行代碼質量準則——所有這些都在他們的JetBrains生態系統中。該平臺可以集成到任何CI/CD管道中,并可以分析用60多種語言編寫的代碼,包括JavaJavaScriptTypeScriptPHPKotlinPythonGoC#

 

今天,Qodana宣布了一個巨大的里程碑:它不再是預覽版,并在商業上進行了一些重大改進。現在就加入,第一年即可享受50%的折扣。

 


Qodana的新功能2023.2

 

你們中的許多人一直在想Qodana”這個名字是從哪里來的。讓我們解釋一下。

 

Qodana”代表“代碼分析器”。

 

早在2021年,在就產品名稱進行了數周徒勞的頭腦風暴后,我們向一位精通多種語言的同事尋求指導。十分鐘后,她建議“Qodana”,我們馬上就知道了。

 

2021年在EAP推出Qodana以來,我們對其反應感到非常高興。迄今為止,Qodana每月分析超過9000個獨特項目的承諾——其中80%是商業項目。

 

我們的早期采用者教會了我們很多關于他們需要什么的知識,我們利用這些知識對Qodana的靜態代碼分析引擎進行了一些重大改進。 

 

#1 Qodana的服務器端分析現已與JetBrains IDE完全集成2023.2

 

眾所周知,靜態分析工具的配置非常復雜。隨著Qodana 2023.2的發布,我們通過將我們的代碼質量平臺與幾乎所有的JetBrains IDE完全集成,消除了這種痛苦:IntelliJ IDEAWebStormPhpStormPyCharmRiderGoLand。請注意,在IDE2023.2版本發布之前,此功能將不可用。 

 

這種整合將帶來兩個重要的好處。 

 

第一個好處是易于配置。您只需點擊幾下即可嘗試本地分析,查看整個項目的問題列表,然后在首選CI/CD系統中配置Qodana,以建立質量門并運行服務器端檢查。 

 

IDE中配置Qodana

 

第二個好處是改進了代碼質量的工作流程。在連續集成服務器中配置Qodana后,您將能夠看到服務器端分析的結果,而無需離開IDE——開箱即用。或者,您可以直接導航到Qodana Cloud,在簡單的sunburst圖中查看問題概述。

 

Qodana檢測到的問題概述

 

#2代碼覆蓋支持

 

Qodana現在支持處理JavaKotlinPHPJavaScriptTypeScript的代碼覆蓋率。在運行自動化測試時,Qodana將根據已知單元測試框架的輸出顯示執行了多少代碼。這樣,用戶將能夠1)審查代碼覆蓋的程度,2)發現代碼中需要更多測試的部分,3)自己評估測試的質量。



Qodana的代碼覆蓋率檢查

 

#3 Checkmarx提供的漏洞檢查器

 

現在,QodanaIntelliJ IDEA中使用的相同漏洞檢查器捆綁在一起,并由公認的應用程序安全軟件測試行業領導者Checkmarx提供支持。該檢查旨在發現項目中使用的易受攻擊的外部包裝。

 

漏洞檢查器不僅僅提供安全信息。它還提供了寶貴的補救見解。開發人員可以立即采取行動,通過快速遷移到安全穩定的軟件包版本來解決漏洞,而不會出現已知的漏洞問題。 

 

#4快速修復(實驗)

 

所有Qodana linters.NET除外)都將為用戶提供快速修復功能,以提高他們的編碼效率。Qodana現在可以對可以自動解決的問題進行快速修復,并使用所應用的更改創建新的拉取請求(目前僅適用于GitHub Actions)。然后,用戶將能夠在提交之前查看這些更改。

 

 

Qodana快速修復

 

有關完整的更改列表,請參閱Qodana 2023.2的新增內容。

 

Qodana2023.2版本之后的功能

 

如果您還沒有嘗試過Qodana,以下是產品中當前可用功能的簡要概述——除了最新發布的功能。 

 

2500多項代碼檢查-包括Qodana獨家檢查

 

Qodana可以發現性能問題、未使用的聲明、易受攻擊的依賴項、潛在的安全問題、令人困惑的代碼構造、命名和樣式約定等等。

 

交互式檢查報告和儀表板

 

使用我們精美的sunburst圖,發現代碼中的問題和趨勢,更好地了解項目的質量

 

 

交互式Qodana報告

 

基于云的報告概述

 

您可以在一個地方(Qodana Cloud)累積所有Qodana報告,并使用交互式儀表板探索項目趨勢。

 

控制技術債務的基線

 

代碼庫或基線的快照是在特定的Qodana運行期間拍攝的。您可以將當前代碼與其基線狀態進行比較,并查看新的、未更改的和已解決的問題。 

 

例如,您可以使用基線將不太關鍵的問題放在次要位置,并專注于修復新的或高度關鍵的錯誤。


 

Qodana的基線

 

第三方許可證審核

 

掃描代碼存儲庫中的依賴項以查找它們的許可證,并查看它們是否與您的項目許可證兼容。

 

 

許可證審核失敗的結果

 

檢驗建造師

 

想掃描Qodana還沒有涵蓋的特定問題嗎?您可以將其與第三方檢查工具集成,也可以創建自己的插件。

 

一個視頻勝過千言萬語,所以請隨時查看我們的開發者倡導者Anton ArhipovQodana概覽視頻。 

 

如何開始使用Qodana

 

只需前往我們的網站并申請免費試用!您將被要求在Qodana Cloud中創建一個帳戶,并將指定的linter連接到您的項目和首選的CI/CD系統。就這么簡單!

 

我們的使命是幫助開發人員交付他們引以為豪的代碼。我們希望您喜歡Qodana,以及它在一張簡單的日光浴圖中所包含的所有智慧。如果您有任何問題,請隨時向問題跟蹤器提交問題單或在下面留言。