inCode

inCode is an eclipse plugin that acts like a pair programming buddy, helping developers understand, assess and improve the quality of your project's architecture and design. It's fully integrated with the IDE, it's discrete, and works as you type code. Best of all? Developers continually improve their coding skills, producing code that is cleaner and cheaper to maintain.

  • inCode saves you the overhead of lengthy code review and restructuring sessions, by allowing you to detect and correct design flaws in a continuous, agile manner.
  • inCode lowers your maintenance costs by detecting problems early, before they become severe. Fixing a light problem early is cheaper than fixing a severe problem late.
  • inCode minimizes the time needed to understand the context of a problem, since the problem affects the code you are already working on. In practice, time for understanding a problem makes up for at least half of the total maintenance time for that problem.

Key features

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!

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.

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.