Understanding the New Features in JArchitect v2017

Snippet of programming code in IDE
Published on

Understanding the New Features in JArchitect v2017

JArchitect is a powerful tool that allows developers to analyze, manage, and improve their Java codebase. With the release of JArchitect v2017, several new features have been introduced, offering even more capabilities for Java developers. In this article, we will explore these new features and discuss how they can benefit your development workflow.

Java 9 Support

One of the most significant updates in JArchitect v2017 is the added support for Java 9. With the release of Java 9, developers gained access to several new language features and APIs, including modules, the JShell tool, and improvements to the process API. JArchitect now fully supports Java 9, allowing developers to analyze and refactor code written with the latest Java version.

Code Query with LINQ

JArchitect v2017 introduces Code Query with LINQ, which enables developers to query their codebase using LINQ queries. This allows for powerful and flexible code exploration, making it easier to identify code smells, design flaws, and other areas for improvement. By leveraging LINQ queries, developers can gain valuable insights into their codebase and make informed decisions about refactoring and optimization.

Smart Technical Debt Estimation

Technical debt is a measure of the work that needs to be done to bring a codebase to an acceptable level of quality. JArchitect v2017 introduces smart technical debt estimation, which provides developers with a clear understanding of the technical debt present in their codebase. By identifying areas of the code that require attention, developers can prioritize refactoring efforts and improve the overall quality of their codebase.

Trend Monitoring

In addition to the new features mentioned above, JArchitect v2017 includes trend monitoring capabilities. With trend monitoring, developers can track code metrics and quality over time, allowing them to identify patterns and trends in their codebase. This insight is invaluable for understanding the evolution of a codebase and making informed decisions about its future direction.

Example Usage

Let's take a look at how these new features can be used in practice. Below is an example of using Code Query with LINQ to identify methods in a codebase that exceed a certain cyclomatic complexity threshold:

from m in Methods
where m.CyclomaticComplexity > 10
select new { m, m.CyclomaticComplexity }

In this example, we are using a LINQ query to select methods with a cyclomatic complexity greater than 10. This allows us to quickly pinpoint areas of the codebase that may be overly complex and in need of refactoring.

The Last Word

JArchitect v2017 introduces several new features that expand the capabilities of the tool and provide valuable insights for Java developers. With support for Java 9, Code Query with LINQ, smart technical debt estimation, and trend monitoring, developers can gain a deeper understanding of their codebase and make informed decisions about its maintenance and evolution.

By leveraging these new features, developers can identify areas for improvement, prioritize refactoring efforts, and ensure the long-term maintainability and quality of their Java codebase. As a result, JArchitect v2017 empowers developers to write better code, reduce technical debt, and deliver higher quality software.

To learn more about JArchitect v2017 and its new features, you can visit the official JArchitect website and explore the documentation and tutorials.

In conclusion, JArchitect v2017 brings a wealth of new capabilities to the table, empowering Java developers to analyze and improve their codebase with greater efficiency and effectiveness. With support for Java 9, Code Query with LINQ, smart technical debt estimation, and trend monitoring, JArchitect v2017 is a valuable tool for any Java developer looking to elevate their code quality and maintainability.