inCode

Problem detection, on the fly

inCode detects design flaws (a.k.a. code smells) continuously, in the background. Examples include Code Duplication, classes that break encapsulation (Data Class, God Class), or methods placed in a wrong class (Feature Envy). The detection is based on object-oriented metrics, but the great part is that you don't have to interact with the underlying metrics directly. Metrics do their job under the hood, while you zip directly to the useful conclusions!

Architectural assessment

inCode can detect three major and frequent architectural problems: Cyclic Dependencies, Unstable Subsystems Dependencies, and Lack of Interface-based Dependencies. Additionally inCode allows a software engineer or architect to perform an in-depth, code-connected analysis of the architecture, so that problems can be quickly removed.

Smart insights and refactoring advice

Through its dedicated view "inCode Tips", the tool provides contextual insights and refactoring advice on each encountered problem. inCode Tips is like an expert system that provides you with insights in the particular cause and context of that problem instance. Moreover, it provides the support you need to identify the best suited refactoring that will remove the problem and improve the quality of your object-oriented design.

Quick refactoring

inCode detects cases where an existing Eclipse refactoring could be triggered, and allow you to quickly launch it directly from the inCode Tips view. More advanced restructuring capabilities are already in the works!

Interactive visualizations

inCode delivers x-ray like metrics-based visualizations of attributes (Attribute Usage View), methods (Method Interaction View), classes (Class Blueprint) and packages/projects (System Complexity View). Visualizations allow you to quickly see essential structural traits and dependencies in the code that you are currently working on. The appropriate visualization will be displayed automatically for the program element that is in focus.

Project overview

inCode provides a comprehensive overview of an entire project, or just a package of your choice, by means of metrics that characterize the size, complexity, coupling and the shape of class hierarchies. Furthermore, the inCode Overview summarizes all the design problems detected in the project or package under scrutiny.