코드 망가뜨리지 않고 고치는 법

coffeeholic
한 개발자는 다섯 번째로 같은 오류를 수정하며 한숨을 내쉬었습니다. 이 레거시 코드는 마치 거미줄처럼 얽혀 있었고, 한 줄만 바꿔도 다른 모듈이 무너졌습니다. 버그는 반복됐고, 기능 추가는 매번 지뢰찾기처럼 위험했습니다. 여러분도 이런 코드, 마주한 적 있으신가요?
그는 결심했습니다. 코드를 완전히 재작성하지 않고도 리팩토링할 방법을 찾기로요. 목표는 **"의존성을 끊고, 테스트 가능한 구조 만들기"**였습니다. 그는 gpt에게 다음과 같은 프롬프트를 던졌습니다:

프롬프트

복사
# 레거시 코드 리팩토링 전략 요청 프롬프트
## 페르소나: 5년차 백엔드 개발자, Java/Spring 기반
## 상황: 테스트 코드 없음, 의존성 복잡, 기능 추가 어려움
## 목표: 단계적 리팩토링, 의존성 분리, 단위 테스트 가능하게 전환
## 요청사항:
* 코드 예시 포함
* 추상화 또는 인터페이스 활용법 설명
* 도입 순서와 우선순위 제시
* 단위 테스트 도입 시점 안내
* [기존 클래스 이름], [의존 모듈 이름]은 사용자 입력
* 출력: 단계별 설명 + 예제 코드
망가뜨리지 않고 고치는 법, 그것은 작은 추상화에서 시작됐습니다. 여러분의프로젝트에도
적용해보시겠어요?

댓글 작성

레거시 코드의 늪에서 빠져나온 개발팀의 비밀

기한은 다가오는데, 코드는 점점 더 복잡해지고 있었습니다. 5년 넘게 유지보수된 프로젝트는 여러 개발자의 손을 거치며 일...

복잡한 코드를 날카롭게 다듬는 법

개발할 때 코드가 점점 복잡해지고 버그가 자꾸 생기면 정말 답답하시죠? 저도 그런 경험이 많았습니다. 한 프로젝트에서 팀...

개발

공지

📢[필독] GPT 프롬프트 커뮤니티 이용 가이드

📢[필독] GPT 프롬프트 커뮤니티 이용 가이드

공유

로그인 계속 유지되게 하고 싶을 때, 이렇게 물어봐요

공유

500번째 수동 배포에서 실수한 그날, 모든 걸 자동화하기로 결심했다

공유

새벽 3시에 울린 알림, 그리고 5분 만에 해결한 기적

공유

한 서버가 다운되자 전체 서비스가 마비된 그날

공유

고객이 “왜 이렇게 자주 먹통이 되나요?”라고 물었을 때

공유

99.9%와 99.99%의 차이가 매출 1억원이었다

공유

하나의 거대한 앱이 무너뜨린 우리 팀의 야심

공유

10개 서비스가 하나처럼 움직이는 마법

공유

서드파티 벽에 부딪힌 순간, 한 줄의 코드가 답이었다

공유

망가진 데이터를 살려내는 마법사가 되어보세요!

공유

데이터가 여행을 떠날 때 가져가는 가방 – 직렬화의 비밀!

공유

데이터의 강을 만드는 방법을 찾고 계신가요?

공유

한 집에 여러 세입자, 각자의 프라이버시는 지키면서

공유

물리적 케이블의 한계를 소프트웨어로 뛰어넘다

공유

컨테이너는 가볍고 빠르지만, 보안은 무겁고 복잡하다

공유

캐시가 없으면 못 살지만, 캐시가 틀리면 더 위험하다(분산 캐시 확인 프롬프트)