JetBrains一直致力于提供使開(kāi)發(fā)人員的工作愉快、富有創(chuàng )意和發(fā)人深省的工具。JetBrains IDE旨在理解代碼并為改進(jìn)代碼提供有價(jià)值的建議。在編輯器中提供這些提示非常有用。但是,現代以CI為中心的工作流需要在構建管道中設置可靠的質(zhì)量門(mén)??紤]到這一點(diǎn),我們創(chuàng )建了Qodana。 

 

Qodana是市場(chǎng)上唯一一個(gè)使用JetBrains IDE原生檢查的代碼質(zhì)量平臺,并將JetBrains IDE的智能擴展到CI服務(wù)器。 

 

我們構建了這個(gè)強大的靜態(tài)分析引擎,使開(kāi)發(fā)團隊能夠在整個(gè)企業(yè)范圍內自動(dòng)化代碼審查、構建質(zhì)量門(mén)和執行代碼質(zhì)量準則——所有這些都在他們的JetBrains生態(tài)系統中。該平臺可以集成到任何CI/CD管道中,并可以分析用60多種語(yǔ)言編寫(xiě)的代碼,包括Java、JavaScript、TypeScript、PHP、Kotlin、Python、GoC#。

 

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

 


Qodana的新功能2023.2

 

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

 

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

 

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

 

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

 

我們的早期采用者教會(huì )了我們很多關(guān)于他們需要什么的知識,我們利用這些知識對Qodana的靜態(tài)代碼分析引擎進(jìn)行了一些重大改進(jìn)。 

 

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

 

眾所周知,靜態(tài)分析工具的配置非常復雜。隨著(zhù)Qodana 2023.2的發(fā)布,我們通過(guò)將我們的代碼質(zhì)量平臺與幾乎所有的JetBrains IDE完全集成,消除了這種痛苦:IntelliJ IDEA、WebStorm、PhpStorm、PyCharm、RiderGoLand。請注意,在IDE2023.2版本發(fā)布之前,此功能將不可用。 

 

這種整合將帶來(lái)兩個(gè)重要的好處。 

 

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

 

IDE中配置Qodana

 

第二個(gè)好處是改進(jìn)了代碼質(zhì)量的工作流程。在連續集成服務(wù)器中配置Qodana后,您將能夠看到服務(wù)器端分析的結果,而無(wú)需離開(kāi)IDE——開(kāi)箱即用?;蛘?,您可以直接導航到Qodana Cloud,在簡(jiǎn)單的sunburst圖中查看問(wèn)題概述。

 

Qodana檢測到的問(wèn)題概述

 

#2代碼覆蓋支持

 

Qodana現在支持處理Java、Kotlin、PHP、JavaScriptTypeScript的代碼覆蓋率。在運行自動(dòng)化測試時(shí),Qodana將根據已知單元測試框架的輸出顯示執行了多少代碼。這樣,用戶(hù)將能夠1)審查代碼覆蓋的程度,2)發(fā)現代碼中需要更多測試的部分,3)自己評估測試的質(zhì)量。



Qodana的代碼覆蓋率檢查

 

#3 Checkmarx提供的漏洞檢查器

 

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

 

漏洞檢查器不僅僅提供安全信息。它還提供了寶貴的補救見(jiàn)解。開(kāi)發(fā)人員可以立即采取行動(dòng),通過(guò)快速遷移到安全穩定的軟件包版本來(lái)解決漏洞,而不會(huì )出現已知的漏洞問(wèn)題。 

 

#4快速修復(實(shí)驗)

 

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

 

 

Qodana快速修復

 

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

 

Qodana2023.2版本之后的功能

 

如果您還沒(méi)有嘗試過(guò)Qodana,以下是產(chǎn)品中當前可用功能的簡(jiǎn)要概述——除了最新發(fā)布的功能。 

 

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

 

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

 

交互式檢查報告和儀表板

 

使用我們精美的sunburst圖,發(fā)現代碼中的問(wèn)題和趨勢,更好地了解項目的質(zhì)量

 

 

交互式Qodana報告

 

基于云的報告概述

 

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

 

控制技術(shù)債務(wù)的基線(xiàn)

 

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

 

例如,您可以使用基線(xiàn)將不太關(guān)鍵的問(wèn)題放在次要位置,并專(zhuān)注于修復新的或高度關(guān)鍵的錯誤。


 

Qodana的基線(xiàn)

 

第三方許可證審核

 

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

 

 

許可證審核失敗的結果

 

檢驗建造師

 

想掃描Qodana還沒(méi)有涵蓋的特定問(wèn)題嗎?您可以將其與第三方檢查工具集成,也可以創(chuàng )建自己的插件。

 

一個(gè)視頻勝過(guò)千言萬(wàn)語(yǔ),所以請隨時(shí)查看我們的開(kāi)發(fā)者倡導者Anton ArhipovQodana概覽視頻。 

 

如何開(kāi)始使用Qodana?

 

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

 

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