Features   Try it!   Solutions   Forum

inCode is an Eclipse plugin that acts like a pair programming buddy, helping you understand, assess and improve the quality of your project's design. It's fully integrated, discrete, and works as you type.

inCode saves you the overhead of lengthy code review and restructuring sessions, by allowing you to detect and correct design problems in a continuous, agile manner.

Due to a unique mix of features, inCode is the first representative of a whole new class of tools, that stands out from everything that what was previously there:

On-the-fly detection of well-known design flaws (a.k.a. code smells), like 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 directly with metrics. Metrics do the job, while you zip directly to the useful conclusions!

Smart contextual advice (inCode Tips) on each encountered design problem. inCode Tips are like an expert system that provides you with insights in the particular cause and context of that problem instance. Furthermore, you get customized advices on how to restructure (refactor) the code in order to improve the quality of your object-oriented design.

Quick Refactorings, as inCode detects cases where an existing Eclipse refactorings could be triggered, and allow you to launch them directly from the inCode Tips view. More complex, more advanced restructuring capabilities are already in the works!

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

Insightful, interactive code visualization using metrics-based views on attributes (Attribute Usage View), methods (Method Interaction View), classes (Class Blueprint) and packages/projects (System Complexity View). These allow you to see the essential traits (e.g. dependencies) of the code that you are currently working on, in one-shot. The appropriate visualization will be displayed automatically for the program element that is in focus.

Comprehensive overview of an entire project or of a chosen package, 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.


Check out our demo at the Eclipse Demo Camp, held June 26, 2008 in Karlsruhe, Germany: