다섯 살도 알 수 있게 · SW공학
리팩토링이 뭐예요?
리팩토링을, 줄거리는 그대로 두고 문장 구조만 다시 다듬는 출판사의 재편집 작업으로 풀어봤어요.
오래된 원고일수록 손대기가 무서워요.문장이 꼬여서 어디부터 손대야 할지 모르겠어요.
줄거리를 바꾸면 독자가 알아채고, 문장을 그냥 두면 다음 교정이 더 힘들어져요.줄거리는 그대로 두고 문장만 다시 다듬을 순 없을까요?
리팩토링은 줄거리는 그대로, 문장 구조만 다시 다듬는 거예요.겉(줄거리)은 그대로, 속(문장 구조)만 다시 다듬어요.
중복 문장 합치기같은 말을 한 곳으로
긴 문단 쪼개기짧고 읽기 쉽게
이름 통일하기용어를 하나로 맞춰요
조금씩, 매번 확인줄거리가 안 바뀌었나 봐요
리팩토링은 합치기·쪼개기·이름 통일 같은 작은 수정과 확인을 반복해요.줄거리가 안 바뀌었는지는 교정자가 매번 확인해요.
교정(테스트) 없이는 줄거리가 그대로인지 확신할 수 없어요.리팩토링은 기능 추가가 아니라 구조만 다시 다듬는 거예요.
한 줄로
리팩토링은 책의 줄거리(겉으로 보이는 동작)는 그대로 두고, 문장 구조(속 설계)만 다시 다듬는 재편집이에요.
리팩토링은 소프트웨어의 외부 동작(기능, 출력 결과)을 바꾸지 않으면서 내부 코드 구조를 개선하는 작업이에요. 중복 제거, 함수/모듈 분리, 네이밍 통일 등을 작은 단계로 나눠 수행하고, 매 단계마다 테스트로 동작이 그대로인지 확인해요. 새 기능을 추가하는 것과는 분명히 구분돼요.
어른들은 이렇게 불러요
- 리팩토링
Refactoring - 줄거리는 그대로, 문장만 다시 다듬기. 외부 동작은 안 바뀌어요.
- 외부 동작
External Behavior - 독자가 읽는 줄거리. 리팩토링 전후로 똑같아야 해요.
- 코드 스멜
Code Smell - 문장이 꼬여 보이는 낌새. 리팩토링이 필요하다는 신호예요.
- 단위테스트
Unit Test - 줄거리가 안 바뀌었는지 보는 교정. 리팩토링의 안전망이에요.
- 기술부채
Technical Debt - 나중에 갚아야 할 빚. 리팩토링은 이 빚을 갚는 방법 중 하나예요. → 지금 빨리 가려고 쌓아둔 빚
- 캡슐화
Encapsulation - 서랍 속을 잠그고 창구로만 드나들게 하기. 창구 모양은 그대로, 서랍 속만 리팩토링해요. → 작가의 잠긴 서랍
- 디자인패턴
Design Pattern - 편집 스타일가이드. 리팩토링의 목적지 중 하나예요.
- 회귀
Regression - 고치다 줄거리가 틀어지는 사고. 리팩토링이 가장 조심하는 사고예요.
다음 이야기
전국 창고 네트워크 →