728x90
반응형

리팩토링 전략 3

Golden-Master Testing

개요Golden-Master Testing은 기존 소프트웨어의 출력 결과(또는 동작)를 “황금 기준”으로 저장하고, 코드 변경 이후의 결과와 비교하여 의도하지 않은 변경이나 오류를 탐지하는 회귀 테스트 기법입니다. 테스트 케이스를 미리 정의하기 어려운 복잡한 시스템에서 유용하며, 주로 리팩토링, 레거시 시스템 개선, GUI 테스트 등에서 활용됩니다. Approval Testing, Snapshot Testing 등 다양한 이름으로 불리며, 안정성과 신뢰도를 확보하는 데 효과적입니다.1. 개념 및 정의 항목 설명 정의Golden-Master Testing은 기존 시스템의 정상 출력을 기준값으로 저장해두고, 변경 이후 결과를 비교해 테스트하는 방식입니다.목적리팩토링이나 코드 변경 이후에도 기존 기능이 동일..

Topic 2025.06.06

KISS(Keep It Simple, Stupid) 원칙

개요KISS(Keep It Simple, Stupid)는 소프트웨어 설계와 개발에서 가장 오래되고 영향력 있는 원칙 중 하나로, “단순함이 복잡함보다 낫다”는 철학을 바탕으로 합니다. 이 원칙은 코드, 설계, 시스템, 프로세스를 지나치게 복잡하게 만들지 말고 가능한 한 단순하게 유지하라는 메시지를 전달합니다. KISS는 소프트웨어뿐만 아니라 제품 설계, 사용자 경험(UX), 조직 운영 등 다양한 분야에서도 적용됩니다.1. 개념 및 정의 항목 내용 정의KISS는 ‘가능한 한 단순하게 유지하라(Keep It Simple, Stupid)’는 원칙으로, 불필요한 복잡성을 배제하는 설계 철학입니다.목적개발 속도 향상, 이해도 증가, 유지보수 용이성 확보필요성복잡한 설계는 버그, 개발 지연, 확장성 저하를 초래함..

Topic 2025.06.05

Branch-by-Abstraction

개요Branch-by-Abstraction은 기능 브랜치를 따로 만들지 않고, 메인(main/master) 브랜치에서 안전하게 리팩토링이나 기능 교체를 수행할 수 있도록 하는 개발 전략입니다. 추상화 계층을 통해 기존 코드와 새로운 구현이 공존하도록 만들어 점진적인 전환이 가능하며, trunk-based development(트렁크 기반 개발) 환경에서 자주 사용됩니다.1. 개념 및 정의Branch-by-Abstraction은 ‘브랜치’라는 단어를 사용하지만, 실제로는 코드 레벨에서의 추상화 계층 도입을 통한 분리 전략입니다.추상화 계층을 통해 기존 구현과 새로운 구현을 동시에 유지새로운 기능은 해당 추상화 뒤에서 구현되고 점진적으로 교체전환이 완료되면 기존 구현 및 추상 계층 제거이 방식은 코드베이스를..

Topic 2025.06.02
728x90
반응형