JArchitect Benefits by CoderGears www.JArchitect.com What is JArchitect? JArchitect manage complex code base and achieve high Java Code Quality. Bad Quality High Quality + = With JArchitect, software quality can be: • Measured using Code Metrics, • Visualized using Graphs and Treemaps, • Enforced using standard and custom Rules. www.JArchitect.com CQLinq – Code Query Language JArchitect has innovative code query language named CQLinq, which is used to create and customize easily your own code rules. From m in Application.Methods where m.NbLinesOfCode > 30 From p in Packages p.Level = null From T in Types where t.IsClass Writing CQLinq queries and constraints is straightforward because JArchitect provides a CQLinq editor which supports: • Code completion / intellisense, • Live compile error description, • Integrated tooltip documentation. www.JArchitect.com Interactive Guis Exploration and Architecture Compliance categories are represented best via interactive graphs: • • • • Dependency Graph, Dependency Matrix, Metrics View, Abstracness vs Instability. www.JArchitect.com Dependency graph The JArchitect dependency graph panel displays the graph of dependencies between projects. www.JArchitect.com Dependency Structure Matrix The DSM (Dependency Structure Matrix) is a compact way to represent and navigate across dependencies between components. www.JArchitect.com Metrics View In the Metric View, the code base is represented through a Treemap. Treemapping is a method for displaying treestructured data by using nested rectangles. www.JArchitect.com Abstracness vs. Instability In any software system particularly large ones, balance is critical. In this case, a system should balance abstractness with stability in order to be "good”. www.JArchitect.com More than 80 Code Metrics JArchitect comes with more than 80 code metrics some of them are related to: • Your code organization (the number of classes or Packages, the number of methods declared in a class...), • Code quality (complexity, percentage of comments, number of parameters, cohesion of classes, stability of Projects...), • The structure of code (which types are the most used, depth of inheritance...) www.JArchitect.com Plugins JArchitect support out of the box the XML files from PMD, FindBugs, CheckStyle and CPD, however you can integrate another analysis tool by providing to JArchtect an XML file with this following format: www.JArchitect.com Builds comparison In software development, products are constantly evolving. Hence, developers and architects must pay attention to modifications in code bases. Modern source code repositories handle incremental development. JArchitect can tell you what has been changed between 2 builds but it does more than simple text comparison. It can distinguish between: • Comment change, • Code change, • what has been added/removed • what has just been modified. www.JArchitect.com Customizable reports JArchitect can analyze source code and Java Projects through Jarchitect Console. Each time it analyzes a code base, JArchitect yields a report that can inform you about the status of your development. You can customize sections shown in the report and you can even provide your own XSL sheet for full customization. You can also build your own set of CQLinq constraints that will be checked at each analysis. Sample Report made by JArchitect. www.JArchitect.com Rich Code Search facilities Contrary to other tools, JArchitect Code Search supports numerous criterias including Searching by: • Name, • Size, • Complexity, • Coupling, • Popularity, • Coverage, • Visibility, • Mutability, • Purity, • Change and Coverage of Changes. www.JArchitect.com JArchitect features • • • • • • • • Analysis of Application Projects, Code Source and Third-Party Projects, Facilities to Create and Customize JArchitect Project, Dashboard reflecting the status of the code base, Automatic HTML Report Production through JArchitect console, Possible Integration into the Build Process, Warnings about the Health of the Build Process, Plugins Integration (PMD, FindBugs, CheckStyle, CPD) Interactive UI: Dependency Graph, Dependency Matrix, Metrics Visualization, • Build Comparison / Code Diff • Edition of custom CQLinq Queries and Rules • Support for Trend charts and Trend metrics www.JArchitect.com Related links CQlinq syntax: http://www.jarchitect.com/Doc_CQLinq_Syntax CQLinq features: http://www.jarchitect.com/Doc_CQLinq_Features CQLinq performance: http://www.jarchitect.com/Doc_CQLinq_Perf Dependency graph: http://www.jarchitect.com/Doc_VS_Arch Dependency Structure Matrix: http://www.jarchitect.com/Doc_Matrix Metrics view: http://www.jarchitect.com/Doc_Treemap Code metrics: http://www.jarchitect.com/Metrics Plugins: http://www.jarchitect.com/JArchitectPlugin Build comparison: http://www.jarchitect.com/Doc_VS_Diff Reports: http://www.jarchitect.com/Doc_CI_Report Rich code search: http://www.jarchitect.com/Doc_VS_Search www.JArchitect.com Our contacts Our teams at CoderGears will be more than happy to assist you! Support Team support@codergears.com Sales Team sales@codergears.com www.JArchitect.com