개발서적인 '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 |
|---|