JetBrains Qodana Moves To The Cloud
Written by Nikos Vaggalis   
Thursday, 08 December 2022

JetBrains' integrated code quality platform moves from locally hosted development environments to the cloud. Why is that great?

Back in October 2021 when Qodana went public, we reported that the tool was not just a mere linter:

While Qodana's job is to identify and suggests fixes for bugs, security vulnerabilities, duplications, imperfections, anomalous code, probable bugs, dead code, etc, it is also a complete Code Quality Platform with the aim of improving the overall code structure of a project by applying the best coding practices as well as providing integrations and visualizations of inspections and errors right in your favorite JetBrains IDE.

At its core Qodana is a collection of linters with every linter providing two types of output:

  • JSON files separately described per each linter

  • Web reports for interactive results investigation and configuration adjustment

Before this move to the cloud, Qodana could provide project analysis locally or in any CI by being run as a Docker image. The newly introduced cloud-based Qodana is focused on team work and performance across an organization. With no need for spinning up Docker images, it has the advantage that it collects data from all the different linters spread across the organization in a single repo. As such running the analysis on the concentrated data provides a holistic view on the wider code quality and deeper insights on a team performance scale. It goes without saying that this functionality is especially helpful for managers that supervise large teams of developers.

With the cloud-based version developers can also leverage the power of a light and fast code editor while retaining all the functionality they like in JetBrains products. If instead they opt for their favorite IDEs they can also open issues from within it and fix server-side errors in the editor exactly the same way they work with other suggestions. Especially important, developers can run resource-intensive checks outside of their development environment without degrading their IDE’s performance.

Qodana's linters support Java, Php, Python and Javascript while the announcement of the cloud-based Qodana follows last month's Qodana 2022. 3 EAP release which brought support for . NET and Go too.

Because "code quality" is a notion that can be easily misunderstood, here are some examples that come with the EAP version which clearly demonstrate what kind of code quality inspections Qodana is capable of :

On . NET:

  • Inconsistent lock ordering

    One of the main issues when using locks to achieve thread safety is avoiding deadlocks, i. e. when threads simultaneously block each other from continuing execution, so no progress is made. With this new inspection, Qodana will highlight cycles leading to possible deadlocks at runtime.

  • Access to modified captured variable

    Qodana for . NET detects access to the captured variable from an anonymous method when the variable is modified externally.

  • Avoid using ‘async’ lambda when delegate type returns ‘void’

    This inspection spots the usage of ‘async’ lambda expressions: any exceptions unhandled by the lambda will never affect the caller thread and will not be caught with the catch clause.

On Java :

  • UnresolvedRestParam

    Now Qodana can detect inconsistent method declarations in REST services (such as @PathParam parameters that don’t match a placeholder from the @Get annotation), as these would throw exceptions at runtime.


On Python:

Inspections for the Google App Engine to Qodana for Python were added that will highlight issues before they cause failures in production environments. For example, now you can spot:

  • GQL queries that do not comply with restrictions for queries allowed on the Google App Engine server.

  • GQL queries without indexes.

  • Usages of Python features that are restricted by the Google App Engine sandbox.

  • Сases when threadsafe is not enabled with the CGI handler.

Its metrics, which show how your code behaves by highlighting actual problems in the code, are visualized in reports and dashboards.

The new cloud-based offering takes that one step further making it available across an entire organization.

 

More Information

Jetbrains Qodana 

Related Articles

JetBrain's Qodana - More Than Just A Linter

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


Avi Wigderson Gains Turing Award
16/04/2024

Israeli mathematician and computer scientist, Avi Wigderson, is the recipient of the 2023 ACM A.M Turing Award which carries a $1 million prize with financial support from Google.



Android 15 Developer Preview Updated
25/03/2024

Google has released Android 15 Developer Preview 2 with changes including better handling of automatic language switching and updates for OpenJDK 17.


More News

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Thursday, 08 December 2022 )