2 Building a legacy modernization framework powered by Vibe Engineering
This chapter covers
- Avoiding time-consuming manual habits and mistakes
- Using prompts for understanding a huge legacy codebase
- Trade-off between LLM-generated code size and humans’ ability to understand it.
- Creating a migration framework using the Vibe Engineering techniques
Oftentimes, when approaching a legacy or any unknown codebase, we don’t know where to start looking. What is more challenging, such a codebase may require migration to a new technology stack to reduce the technical debt, improve the performance, or ease the future maintainability.
Before the LLM era, migrating codebases to other technology stacks was a considerable effort requiring many people with knowledge of the older technology in which the application is written, the new technology that we are targeting, domain experts, and many more people besides. And, in reality, many people who authored legacy applications may no longer be at our company, so their knowledge is lost or buried deep in the codebase.
How do we approach migration under such circumstances?
To start, LLMs are great for analyzing text (thus code), making it easier to extract implicit knowledge from code. From that point, as we get more insights into the application, we will be able to migrate the application in small incremental steps, making sure that we are heading in the right direction, all by using LLMs only (with some code reading).