Engineering

How To Get The Most Out Of Code Reuse

Tuesday, July 7, 2020 - Entando

The idea of code reuse seems fairly straightforward and can be described as taking components from one software project and reusing them for a new app. Code reusability can take on a number of forms depending on the scale of reuse your organization is attempting, and the process isn’t always as straightforward as it would seem. 

While considerable debate exists on how and when teams should reuse code, code reuse does offer a number of benefits to your organization that are worth considering. However, you’ll need to ensure that you’re going about it the right way in order to get the most out of your code reuse while avoiding some of the pitfalls.

Leveraging code reusability isn’t without its challenges, so it’s important to point out a couple of the key benefits code reuse provides. 

1. SHORTER DEVELOPMENT TIME

The main benefit of code reuse is that it decreases the amount of time you spend on successive projects. If your team finds that they are creating similar components across multiple projects, they could be saving time by simply reusing them, decreasing time to market and freeing teams up to focus on the most meaningful aspects of the project. 

2. STANDARDIZED USER EXPERIENCE

As your organization grows, and you have any number of teams working on any number of applications, UX standardization is something that you’ll need to be intentional about. By reusing components, you will be able to more easily ensure that your online presence has the same look and feel across all of your company’s applications on every channel and device.

3. EASIER TESTING

When you reuse components from previous projects, you know that they are field-tested and proven to work in the field. Because of this, when you use them in a new project, they are less likely to present you with problems, and testing is likely to be easier. If you do encounter an issue, it will likely be found in the newer parts of the code that you created for this current project’s use case, and so they will be easier to identify.

In order to enjoy the benefits that come with code reuse, you’ll need to bear a few things in mind. Here’s how to get the most out of code reuse. 

Reuse only what you don’t have to modify in significant ways.

In order for your organization to benefit fully from code reuse, you’ll need to make sure that you’re not spending too much effort reworking code to make it usable for your new use case, or building every possible use case into a component you want to reuse for future projects. 

Instead, it would be better to reuse code only when the use case in the new project is very similar to the previous project. If there is a fair amount of divergence in what is needed for the current project, it might be better to create a new component from scratch rather than spending time reworking what you have. 

At the same time, if you intend to reuse code, you should bear that in mind from the start and write code that will be easily reusable should the need arise. 

Make your code more modular.

By making sure that your code is divided into smaller chunks, you make it easier to reuse across projects. This is why micro frontends are good for code reuse, since their functionality is decoupled from the base application. For example, if you have a menu bar or a specific kind of page or form that you will need to use in multiple situations, developing in micro frontends allows you to easily reuse those components with minimal updates. 

Create a standard place from where your developers can pull components.

If your organization is large with a many teams and developers working on various projects, you’ll need a way to keep yourself organized so that all your teams can access code that can be reused for their current projects. So you’ll want to create a standard place for your components to be stored and accessed by each of your different departments. 

Over time, you can create a component repository that will considerably decrease your time to market on new apps by drastically reducing the unnecessary duplication of effort across teams and projects. This will help you standardize your development process, as well as the overall look and feel of your brand’s digital footprint and online interaction with your customers. 

Build a component repository and reuse code across your organization with Entando.

When release cycles take months instead of weeks, your business is left unable to deliver modern online experiences. Development bottlenecks slow your ability to make application updates, keeping you from iterating and innovating. And outdated or clunky UX keeps you from winning customers over and retaining them.

So that’s why we created a platform to help you get your ideas to market faster.

Entando is the leading micro frontend platform for building enterprise web apps on Kubernetes. We want to change the way enterprises think about building their apps, sites, and portals in order to innovate more quickly.

With Entando, you can quickly create micro frontends using the Entando Component Generator built on JHipster and assemble them onto a single page with the Entando App Builder. Then reuse UI/UX components across multiple projects via the Entando Component Repository, saving money and increasing development speed while also standardizing your UX and development process. 

With Entando, you also have the ability to scale quickly and effectively with Entando’s custom Kubernetes operator, automating the deployment of scalable, self-healing applications--including progressive web apps. 

Entando is open source with available enterprise support. Begin developing on the platform today, and get a quote to see how our Professional Services team can help your enterprise build better apps, sites, and portals--faster.

White_Paper_cover.png

Learn How To Create Better Apps, Portals, & Websites--Faster.

This white paper outlines how your organization can accelerate UX innovation by developing with micro frontends on Kubernetes, as well as how a micro frontend platform can help you execute this methodology more effectively.