Ruby on Rails Refactor or Rewrite?
Tim Ross · Dec 17, 2015 · Share:
How we avoided an expensive rewrite by refactoring existing code.
When the client approached us to build new features on their existing Ruby on Rails appointment management application, several developers had already worked on it over a couple of years. The code was in a bad state. They needed our expertise to get the app into a state fit for public launch.
Although they'd received advice from other development companies to rewrite the application, we recommended an incremental refactoring approach instead. This way we could develop new features to take the business forward without stopping for months to rewrite existing features.
While delivering new features, we removed a lot of redundant code. The result is a smaller, leaner codebase that's easier to read and understand.
We accomplished this by creating an automated test suite so new code would be fully tested and existing code could be incrementally tested as we changed it. Over time the application became more stable and receptive to change.
The application suffered from performance issues with even a small number of concurrent users. We optimised the code to be more efficient at processing database queries, which resulted in faster page load times and fewer memory issues.
We introduced Code Climate to objectively measure code quality. The initial score (0.56) was one of the lowest code quality scores we’d seen. When we left the project, the score was 2.46, an almost 400% improvement in code quality.
Why spend time refactoring parts of the application that don’t need to change? The right time to refactor is when you modify part of the system.
It makes sense to refactor when you have maximum knowledge about what needs to change. This is why we recommend refactoring alongside delivering new features.
Why spend time refactoring parts of the application that don’t need to change? There’s little ROI. But delivering new features while incrementally improving the quality of the codebase adds long-term business value.
Let's work together
Tell us about your project and we'll get back to you shortly.
Join The Conversation
More On The Blog
8 Best Ruby On Rails Gems For eCommerce Applications
Everyone within the eCommerce space knows of Ruby On Rails. This framework is used by approximately 3,866,870 websites right now, showing just how efficient it can be for creating efficient yet beautiful web applications. Now, this unique Ruby-based framework comes with its fair share of add-ons and extra features to discover as well. One of the most important ones is the gems in Ruby On Rails.
Sol Dieguez —
Nov 30, 2022
How To Improve Your eCommerce With PHP
With the ever-changing state of the IT industry and the fluctuating eCommerce development trends, it’s more than necessary to be flexible in trying out different tech stacks for your eCommerce site. Now, PHP is one of the most popular programming languages out there, and one with a long-standing track record.
Sol Dieguez —
Nov 24, 2022
Tips For Getting The Most Out Of Your AWS Free Tier
This cloud computing service currently has over one million users, with enterprise-scale customers making up about 10% of their clients. This shows just how widely used AWS is and gives a solid reason to try it out: it seems to work for most eCommerce businesses out there. Now, there’s a way to check out AWS for free and see if it works for your online business.
Sol Dieguez —
Nov 18, 2022