YAGNI
미래는 예측할 수 없다. 필요할 때 만들어도 늦지 않다.
You Aren’t Gonna Need It. ‘그게 필요하지 않을 것이다’는 뜻. 익스트림 프로그래밍에서 유래한 원칙. 미래에 필요할지도 모른다는 이유로 지금 당장 필요하지 않은 기능을 미리 만들지 말라는 것이 핵심이다.
불필요한 기능은 코드를 복잡하게 만들고, 유지보수 비용을 증가시키며, 실제로 필요할 때 요구사항이 달라져 결국 다시 만들게 되는 경우가 많다. 정말 필요해질 때까지 기다렸다가 그때 만드는 것이 더 효율적이다.