리팩토링(refactoring)은 기능은 그대로 유지한 채, 코드의 구조나 설계를 개선하는 작업.
즉, 프로그램의 외부 동작에는 변화를 주지 않으면서 코드의 가독성, 유지 보수성, 성능 등을 향상시키기 위해 코드의 내부를 정리하는 것
리팩토링의 목적 :
- 코드 가독성 향상: 나중에 다른 개발자(혹은 본인)가 코드를 쉽게 이해할 수 있도록 코드의 명확성과 일관성을 높임.
- 중복 제거 및 코드 재사용성 증가: 불필요한 코드 중복을 줄이고, 반복되는 패턴을 함수나 클래스화하여 재사용성을 높임.
- 버그 발생 가능성 감소: 복잡한 코드 구조를 간결하게 만들면 버그 발생 가능성이 줄어듦.
- 유지 보수성 향상: 변화에 더 유연하게 대처할 수 있게 하고, 새로운 기능을 추가할 때 더욱 쉽고 안전하게 작업할 수 있음.
리팩토링은 코드를 더 깔끔하게 만들고, 프로젝트가 커질수록 더 중요한 과정
EX) 리팩토링 전
# 특정 사용자 정보를 출력하는 코드
user1_name = "Alice"
user1_age = 25
user1_location = "New York"
print(f"Name: {user1_name}, Age: {user1_age}, Location: {user1_location}")
user2_name = "Bob"
user2_age = 30
user2_location = "Los Angeles"
print(f"Name: {user2_name}, Age: {user2_age}, Location: {user2_location}")
EX) 리팩토링 후
# 사용자 정보를 출력하는 함수를 생성
def print_user_info(name, age, location):
print(f"Name: {name}, Age: {age}, Location: {location}")
# 중복 코드를 함수 호출로 대체
print_user_info("Alice", 25, "New York")
print_user_info("Bob", 30, "Los Angeles")
차이점 :
- 중복 제거: 리팩토링 후에는 print_user_info 함수를 사용하여 중복된 코드가 사라지고. 코드가 더 간결해짐.
- 확장성: 새로운 사용자를 추가할 때, 단순히 함수를 호출하면 되기 때문에 코드가 더 유연해짐
- 가독성 향상: 반복되는 코드가 사라지고 함수로 분리되면서, 코드의 흐름이 더 명확해짐
이처럼 리팩토링을 통해 코드의 품질을 높일 수 있음.
'코딩 > Java' 카테고리의 다른 글
JAVA 컬렉션 프레임워크(Collection Framewrok) (2) | 2024.10.31 |
---|---|
자바 ENUM 정리 (2) | 2024.10.29 |
JAVA 이클립스 추상 클래스(abstract class) (1) | 2024.10.18 |
JAVA 이클립스 상속(inheritance) (0) | 2024.10.17 |
자바 final (0) | 2024.10.17 |