Voltar ao glossario
Code Review e Qualidade

Legacy Code

Existing code that is difficult to change due to lack of tests, poor documentation, outdated technologies, or original developers no longer available.

Definicao

Michael Feathers defines legacy code simply as "code without tests" because without tests, changes are risky. Legacy code often has: unclear architecture, missing documentation, deprecated dependencies, complex interdependencies, and accumulated workarounds. However, legacy code is also valuable — it represents working business logic that has been tested in production.

Por que e importante

Most developers spend more time maintaining legacy code than writing new code. Understanding how to safely modify legacy systems is a critical skill. Techniques include: adding characterization tests, strangler fig pattern, and incremental refactoring.

Exemplo

A 15-year-old PHP monolith processes millions in transactions daily. It has no tests, uses deprecated libraries, and the original team left. Developers must add tests before making changes to avoid breaking production.

Termos relacionados

legacy codewhat is legacy codelegacy systemworking with legacy code

Automatize Code Review com diffray

Sistema de IA multi-agente para code review. Encontra bugs, vulnerabilidades de seguranca e problemas de arquitetura automaticamente.