본문 바로가기
Java

[Java] Clean Code란?

by 빙수야 팥빙수야 2023. 9. 9.

개발서적인 'Clean Code'를 읽어보진 못했지만 깨끗한 코드를 지향해야 한다는 것을 요즘 많이 깨닫고 있다...!

그런 의미에서 클린 코드를 위해서 지켜야 할 규칙들에 대해 기록해보고자 한다.

아래 내용은 여러 블로그를 참고해서 작성한 내용으로, 개발서적 'Clean Code'를 직접 읽고 쓴 글이 아님을 밝힌다.

 

😎 Clean Code란?

- 제 3자가 읽기 쉽고 고치기 쉬운 코드

- 원하는 로직을 빠르게 찾을 수 있는 코드

- 가독성이 좋은 코드

- 한 가지에 집중하는 코드

- 테스트 케이스가 있는 코드

 

Clean Code 작성하는 법

1️⃣ 의미 있는 이름을 사용하자

  • 의도를 분명히 밝히기
    • 이름이 존재 이유, 수행하는 기능, 사용 방법을 대변해야 한다.
    • 네이밍을 설명하는 주석이 필요하면 안 된다.
  • 그릇된 정보 피하기
    • 널리 쓰이는 의미가 있는 단어를 다른 이유로 사용하면 안 된다.
    • 흡사한 이름을 사용하면 안 된다.
  • 의미 있게 구분하기
    • 이름이 다르면 의도도 달라야 한다.
    • info, data와 같이 애매한 의미의 단어는 피해야 한다.
  • 검색하기 쉬운 단어를 사용하기
  • Class 이름은 명사
  • Method 이름은 동사
    • 표준에 따라 get, set, is를 사용한다.
    • 생성자를 중복 정의할 때는 정적 팩토리 메서드를 사용하는 것이 좋다.

 

2️⃣ 함수는 하나의 역할만

  • 작게 만들기
    • 함수 안의 줄 수는 적을수록 좋다.
    • 들여 쓰기 레벨도 최대 2단까지만 있는 것이 가장 바람직하다.
  • 한 가지만 하기
    • 한 가지 일을 하는 함수들과 그 함수들을 호출하는 함수 하나로 이루어져 있어야 한다.
    • 의미 있는 이름으로 함수를 추출할 수 있다면 한 가지의 일만 하고 있는 것이다.
  • 함수 당 추상화 수준은 동일하게 하기
    • 코드는 위에서 아래로 읽혀야 한다.
  • 함수 인수 최대한 적게 쓰기
    • 가장 좋은 경우는 인수가 없는 것, 다음에는 단항 함수(인수가 1개)이다.
    • 입력값이 있는 변환 함수는 반환 값이 있는 것이 좋다.
    • 플래그 인수는 사용하지 않는 것이 좋다.
    • 인수가 많이 필요하다면 독자적인 클래스 생성을 고려해 보는 것도 좋은 방법이다.
  • 명령과 조회 분리하기
    • 함수는 무언가를 수행하거나 답하거나 둘 중 하나만 해야 한다.

 

3️⃣ 주석을 최소화

좋은 주석

  • 코드로 표현하지 못하는 정보를 제공하는 주석
  • 의도를 설명하는 주석
  • 결과를 경고하는 주석
  • 중요성을 강조하는 주석

 

나쁜 주석

  • 코드로 설명할 수 있는데, 코드를 설명하는 주석
  • 주석으로 처리한 코드
  • 이력을 기록하는 주석

 

 

 

참고 링크

https://shinsunyoung.tistory.com/124

https://www.nextree.io/basic-of-clean-code/

 

 

'Java' 카테고리의 다른 글

[Java] 네이밍 규칙  (0) 2023.09.04