返回术语表
代码审查与质量

Legacy Code

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

定义

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.

为什么重要

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.

示例

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.

相关术语

legacy codewhat is legacy codelegacy systemworking with legacy code

使用diffray自动化代码审查

多智能体AI代码审查系统。自动发现bug、安全漏洞和架构问题。