Use Case

Code refractoring

Improve and keep your code fresh with Graph visualization

Every company struggles to gain a competitive edge in fast-changing markets.

Many companies though face problems with the code maintenance and code development, that slow them down and consume valuable resources. Reasons generally differ, but certain key points leading to poor quality of code remain. Whether your development team faced many changes of personnel or lacked certain senior positions; whether you did not follow the standardized development techniques in the past or at all; or your code documentation has not been updated on a daily basis, your code might, with high probability, become hard to manage.

With Graphlytic solution you will instantly gain control over the existing code. Having it visualized in a graph visualization you will notice on the spot by yourself what should be changed in the code and how. Refactoring will become incomparably easier due to high visibility of cross-module calls in code. You will easily find duplications in the code which can be removed bringing you code clarity and powerful support for documentation; followed by easier maintenance of the code and much quicker onboarding of the new team members, as a result.

Compared to standardized in-coding-SW-implemented graph visualizations, Graphlytic allows you to explore unlimited call-levels in code allowing programmers to identify "dark places" of the code faster and in a smarter way. The high flexibility to develop own parser rules, leading to customized graph visualizations of the code base, will bring you much easier refactoring with higher efficiency.

Solution architecture

Blogpost Code Refactoring Using Graphs shows steps how to create a graph visualization from your codebase and how to turn it into actionable solution using Graphlytic.
Blogpost Graph Projections Automation with Graphlytic with step-by-step tutorial for creating graph projections from a Java source code knowledge graph created using the jQAssistant Maven plugin.

Summary

Pain points / Challenges
  • Low quality of code with difficult refactoring
  • No or poor code documentation
  • High fluctuation or key programmers on leave
  • Difficult hand-over and on-boarding
  • Not defined or poor development procedures and patterns
  • Growing technical debt
  • Generally, slow development not keeping business deadlines
Solution
  • Implementation of Graphlytic for code documentation and refactoring
  • Importing code graph from your code base and creating a graph visualization
  • Identification of copy-paste patterns
  • Removal of forbidden technologies
  • Overwriting of forbidden patterns
  • Separation of business logic from template logic
Benefits
Coders
  • Much easier code refactoring due to high visibility of dependencies in the graph visualization
  • Low effort code maintenance
  • Quick onboarding of new team members
Head of IT
  • Strong support for code documentation procedures
  • More effort for new features, less struggle with old code
Financial Manager
  • Significant savings for new code development and old code maintenance