코드 품질 향상을 위한 3가지 리팩토링 기법
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- 소프트웨어 개발자 (중간 수준): 코드 가독성 개선, 유지보수성 향상, 팀 협업 효율성 증대
- 난이도: 중간 (기본적인 OOP 개념과 리팩토링 경험 필요)
핵심 요약
- 함수 추출 (
extract function
): 중복된 로직을 재사용 가능한 함수로 분리하여 테스트 가능성과 유지보수성 향상 - 변수 이름 변경 (
rename variables
):camelCase
/snake_case
등 명확한 이름 사용으로 코드 가독성 및 협업 효율성 향상 - 클래스 재구조화 (
restructure classes
): SOLID 원칙 준수, 단일 책임 원칙(SRP) 적용으로 결합도 감소 및 유연성 확보
섹션별 세부 요약
1. 리팩토링의 필요성
- 코드 중복은 유지보수 비용 증가 및 버그 발생 원인
- 리팩토링은 코드 품질 개선을 위한 필수 과정
- 장기적 생산성과 팀 협업 효율성 향상
2. 함수 추출 기법
- 중복 로직 식별 → 명확한 목적의 함수 생성 → 입력/출력 파라미터 정의
- 이점:
- 테스트 용이성: 작은 단위로 나뉜 함수는 단위 테스트 적용 가능
- 유지보수 효율성: 변경 시 하나의 함수만 수정 가능
- 예시:
```python
def calcularDesconto(preco, percentual):
return preco * (1 - percentual/100)
```
3. 변수 이름 변경 기법
- 불명확한 변수명 (
x
,temp
) → 의미 있는 이름 (nomeDoCliente
,totalDesconto
) - 명명 규칙 준수:
- Python:
snake_case
- Java:
camelCase
- 이점:
- 의도 파악 시간 단축
- 협업 시 오류 감소
4. 클래스 재구조화 기법
- 다중 책임 클래스 → 단일 책임 원칙(SRP) 기반으로 분리
- 구조 개선 방법:
- 상속 사용: 공통 기능 재사용
- 컴포지션 사용: 유연한 객체 조합
- 이점:
- 결합도 감소 → 변경 시 영향 범위 제한
- 재사용성 향상 → 다른 프로젝트에서 활용 가능
결론
- 정기적인 리팩토링은 코드 품질과 팀 생산성 향상에 필수적
- SOLID 원칙 준수, 명확한 변수명, 함수 분리를 통해 유지보수성 극대화
- 예시:
extract function
은 중복 코드를 제거하고rename variables
은 코드 가독성을 높이며,restructure classes
는 시스템 유연성을 향상시킨다.