12월 13일 -클린 코드와 코드 리팩토링

Yullgiii·2023년 12월 13일
0
post-thumbnail

클린 코드

클린 코드는 가독성이 좋고, 재사용성이 높으며, 유지보수가 쉬운 코드를 의미한다. 클린 코드를 작성하는 것은 개발자에게 필수적인 능력 중 하나로, 효율적인 개발 흐름을 유지하고 코드의 품질을 높이는 데 큰 도움이 된다.

클린 코드를 작성하기 위한 몇 가지 원칙들은 다음과 같다:

  • 명확한 의미를 가진 변수와 함수 이름 사용: 코드를 읽는 사람이 해당 변수나 함수가 어떤 역할을 하는지 쉽게 이해할 수 있도록 해야 한다.
  • 코드 중복 최소화: 동일한 기능을 하는 코드가 반복되지 않도록 하며, 이를 위해 함수나 클래스를 재사- 용하거나 모듈화하는 방법을 사용한다.
  • 간결한 함수와 클래스 작성: 하나의 함수나 클래스는 하나의 기능만을 수행하도록 작성한다. 이렇게 하면 코드의 가독성을 높이고, 유지보수를 용이하게 한다.

예를 들어, 아래는 클린 코드를 작성하는 한 가지 방법을 보여주는 코드이다.

// Bad
public void p(int a, int b) {
    // ...
}

// Good
public void printSumOfTwoNumbers(int firstNumber, int secondNumber) {
    // ...
}

위의 예제에서 함수 이름 'p'는 해당 함수가 어떤 작업을 수행하는지 알 수 없다. 반면, 'printSumOfTwoNumbers'는 함수가 두 숫자의 합을 출력한다는 것을 명확하게 알려준다.

코드 리팩토링

코드 리팩토링은 기존의 코드를 구조적, 알고리즘적으로 개선하는 작업을 말한다. 코드의 기능은 그대로 유지하면서, 가독성을 높이고 중복을 제거하며 코드의 품질을 향상시키는 것이 주 목표다.

코드 리팩토링의 주요 기법들은 다음과 같다:

  • 메소드 추출(Extract Method): 긴 메소드를 작은 메소드로 나누는 기법이다. 이를 통해 메소드의 가독성을 높이고, 재사용성을 높일 수 있다.
  • 클래스 추출(Extract Class): 하나의 클래스가 너무 많은 책임을 가지고 있을 때, 책임을 분리하여 새로운 클래스를 만드는 기법이다.
  • 메소드명 변경(Rename Method): 메소드의 이름을 좀 더 명확하게 변경하여 가독성을 높이는 기법이다.

다음은 메소드 추출(Extract Method) 리팩토링 기법의 예제 코드이다.

// Before
public void printDetails() {
    printName();
    printAddress();
    printPhoneNumber();
}

public void printName() {
    // ...
}

public void printAddress() {
    // ...
}

public void printPhoneNumber() {
    // ...
}

// After
public void printDetails() {
    printPersonalDetails();
}

public void printPersonalDetails() {
    printName();
    printAddress();
    printPhoneNumber();
}

위의 예제에서 'printDetails' 메소드는 이름, 주소, 전화번호를 출력하는 역할을 한다. 리팩토링 후에는 'printPersonalDetails' 메소드가 이 역할을 대신하게 되었다. 이를 통해 'printDetails' 메소드의 역할이 더 명확해지고, 'printPersonalDetails' 메소드를 재사용할 수 있게 되었다.

profile
개발이란 무엇인가..를 공부하는 거북이의 성장일기 🐢

0개의 댓글