[Computer Science] 클린코드 & 리팩토링

in·2023년 10월 1일
0

Computer Science

목록 보기
1/6

📌 클린코드

가독성이 높은 코드

✔️ 가독성을 높이려면?

  • 네이밍이 잘 되어야 함
  • 오류가 없어야 함
  • 중복이 없어야 함
  • 의존성을 최대한 줄여야 함
  • 클래스 혹은 메소드가 한가지 일만 처리해야 함

📌 리팩토링

프로그램의 외부 동작은 그대로 둔 채 내부의 코드를 정리하면서 개선하는 것

리팩토링이 필요한 코드

  • 중복 코드
  • 긴 메소드
  • 거대한 클래스
  • Switch문(객체지향 특징을 살리려면 switch-case 적게 사용해야함)
  • 절차지향으로 구현한 코드

리팩토링의 목적

소프트웨어를 더 이해하기 쉽고 수정하기 쉽게 만드는 것
➡️ 리팩토링은 성능을 최적화시키는 것이 아닌 코드를 신속하게 개발할 수 있게 만들어주고 코드 품질을 좋게 만들어줌(개발 속도 증가)

리팩토링이 필요한 상황

소프트웨어에 새로운 기능을 추가해야할 때
➡️ 리팩토링은 우선적으로 해야할 일이 아님

예제

// 수정 전
public int getFoodPrice(int arg1, int arg2) {
    return arg1 * arg2;
}

함수명을 직관적 수정, 변수명을 의미에 맞게 수정

// 수정 후
public int getTotalFoodPrice(int price, int quantity) {
    return price * quantity;
}

📌 클린코드와 리팩토링의 차이

리팩토링이 더 넓은 의미를 가진다.
클린코드는 단순히 가독성을 높이기 위한 작업으로 이루어져 있다면 리팩토링은 클린코드를 포함함 유지보수를 위한 코드 개선이 이루어진다.

클린코드와 같은 부분은 설계부터 잘 이루어져 있는 것이 중요하고 리팩토링은 결과물이 나온 이후 수정이나 푸가 작업이 진행될 때 개선해나가는 것이 올바른 방향이다.

[참고 자료]

🔗링크
🔗링크

0개의 댓글