티스토리 뷰

목차

1. 형식을 맞추는 목적

2. 적절한 코드 형식을 작성하는 방법

3. 클래스 및 인터페이스 선언

4. TeamCodingConvention

5. 참고할 만한 컨벤션

 

 

1. 형식을 맞추는 목적

좋은 소프트웨어 시스템은 읽기 쉬운 문서로 이루어 져야 하기 때문에

소스 코드의 스타일이 일관적이고 매끄러워야 한다.

스타일과 가독성 수준은 유지보수 용이성과 확정성에 계속 영향을 미치기 때문에

한 소스 파일에서 봤던 형식이 다른 소스 파일에도 쓰이리라는 신뢰감을 독자에게 주어야 한다.

 

2. 적절한 코드 형식을 작성하는 방법

신문 기사와 같이 위에서 아래로 자연스럽게 읽히며 고차원에서 시작해 마지막에 저차원의 개념이 나오도록 작성한다.

1) 개념은 빈 행으로 분리

각 행은 수식이나 절을 나타내고, 일련의 행 묶음은 완결된 생각 하나를 표현한다.

생각 사이에는 빈 행을 넣어 분리한다.

 

2) 클래스의 적절한 행 길이

코드길이를 200 줄정도로 제한 하는것은 반드시 지킬 엄격한 규칙은 아니지만,

일반적으로 큰 파일보다 작은 파일이 이해하기 쉬우며

클래스가 200 라인을 넘어가는 큰 파일인 경우 여러가지 일을 하고 있는지 의심해 봐야 한다.

 

3) 수직 거리

서로 밀접한 개념은 가능한 같은 파일에 세로로 가까이 둬야 한다.

 

변수 선언

지역 변수는 각 함수 맨 처음에 위치하도록 한다.

인스턴스 변수는 통상적으로 잘 알려진 위치(최상단)에 세로로 거리를 두지 않고 작성한다.

 

종속 함수

한 함수가 다른 함수를 호출한다면 두 함수는 세로로 가까이 배치한다.

호출하는 함수를 호출되는 함수보다 위쪽에 배치한다.

 

가로 공백과 밀집도

가로로는 공백을 사용해 밀접한 개념과 느슨한 개념을 표현한다.

연산자와 피연산자, 함수의 인수간에는 공백을 사용하고

함수 이름과 이어지는 괄호 사이에는 공백을 넣지 않는다.

 

 

3. 클래스 및 인터페이스 선언

오라클 문서에서 권장하는 Class 내부 코드 순서 Oracle Code Convention

 

1) static변수 : public -> protected -> package -> private순서
2) instance변수 : public -> protected -> package -> private
3) 생성자
4) 메서드 : public 메서드에서 호출되는 private 메서드는 그 아래에 둔다. 가독성 위주로 그룹핑.

 

4. Team Coding Convention

개발 언어의 컨벤션이 우선이지만, 애매한 부분은 팀 컨벤션을 따른다.

예) [MySQL Convention] - 컬럼명은 snake_case로 네이밍한다.

예) [Team Convention] - enum 타입으로 사용하는 varchar 타입의 경우 컬럼명은 _type으로 끝나도록 네이밍한다.

 

5. 참고할 만한 컨벤션

1) Google Java Style Guide

2) Naver Hackday Java Convention

 

 

 

 

 

 

출처

Clean Code(클린 코드) 애자일 소프트웨어 장인 정신 - 로버트 C. 마틴 지음

https://zero-base.co.kr/category_dev_camp/cleancode_1book

728x90