Oracle에서 사용하는 컨벤션을 정리해 보았습니다.

컨벤션은 협조업무에 꼭 권장하는 것인만큼 주의해 주세요!!
총 11가지!!
자바 언어로 코딩할 때 코딩 컨벤션
1. 컨벤션의 필요성
- 소프트웨어를 개발하는 일련의 모든 과정에 들어가는 비용 중 80%가 유지보수에 쓰여진다.
- 소프트웨어의 직접 개발한 개발자가 그 소프트웨어의 유지보수를 담당하는 경우는 거의 보기 힘들다.
- 코딩 규칙을 지키면 다른 개발자가 그 소스 코드를 처음 보았을 때, 더 빠른 시간 안에 완벽하게 이해할 수 있도록 도와주기 때문에, 소프트웨어의 가독성이 높아진다.
- 개발자가 자신의 소스 코드를 제품으로 팔려고 한다면, 자신이 작성한 다른 소스 코드들과 잘 어울리도록 패키지(package)를 적절하게 구성할 필요가 있다.
2. 파일 이름들
- 파일 확장자
파일 형태 | 확장자 |
자바 소스 | .java |
자바 바이트코드 | .class |
- 공통으로 사용되는 파일 이름
파일 이름 | 사용 |
GNUmakefile | make 파일 이름으로 사용, 소프트웨어를 빌드 할때는 gnumake명령어를 사용 |
README | 특정 디렉토리의 내용을 요약하는 파일 이름으로 사용 |
3. 파일 구조
- 파일은 빈줄이나 코멘트에 의해 구분되는 각 section들로 구성되어 있다.
- 2000 줄을 넘는 파일은 이해하기 어렵기 때문에 피해야한다.
- 자바 소스 파일
각자 자바 소스 파일은 하나의 public 클래스 또는 인터페이스를 가진다. private클래스 들과 인터페이스들이 public클래스와 연결되어 있을 때, public 클래스와 같은 파일에 private 클래스 들과 인터페이스들을 넣을 수 있다.
public 클래스는 파일에서 첫번째 클래스 또는 인터페이스 여야한다.
자바 소스 파일 순서
- 시작 주석
모든 소스파일은 클래스 이름, 버전 정보, 날짜, 저작권 주의를 보여주는 C-style 주석으로 시작한다. - Package문과 Import문
주석이 아닌 첫번째 줄은 Package문이다. 이후 Import문이 따라온다. - Class와 Interface 선언
순서 | 구성요소 | 설명 |
1 | 문서화 주석 | |
2 | 클래스/ 인터페이스 문 | |
3 | 구현 주석 | 이 주석은 클래스/ 인터페이스 문서화 주석에 적합하지 않은 하나의 클래스/ 인터페이스에만 해당하는 정보들을 포함해야 한다. |
4 | 클래스 변수 | 첫 번째로는 public 클래스 변수들이 나오고, protected 클래스 변수들, package클래스 변수들, private변수들 순서로 나온다. |
5 | 일반 변수 | 클래스 변수와 동일 |
6 | 생성자 | |
7 | 메서드 | 접근성 보다는 기능성에 의해 구성되어야 한다. 코드의 가독성을 위해서 private 클래스 메서드가 두개의 메서드들 사이에 존재 할수 있다. |
4. 들여쓰기
4개의 빈칸을 들여쓰기 단위로 사용합니다.탭은 8개의 빈칸으로 세팅합니다.
- 한줄에 80자 이상 쓰는 것은 대부분의 터미널과 툴에서 다룰수 없기에 피해야한다.
- 줄 나누기 : 하나의 식이 한줄에 들어가지 않을 경우 아래의 규칙에 의거해 두 줄로 나눈다.
콤마 후 두 줄로 나눈다.
연산자 앞에서 두 줄로 나눈다.
레벨이 낮은 원칙보다는 레벨이 높은 원칙에 따라 두 줄로 나눈다.
앞 줄과 같은 레벨의 식이 시작되는 새로운 줄은 앞 줄과 들여쓰기를 일치시킨다.
5. 주석
자바는 두가지 커멘트 종류가 있습니다.
implementation 커멘트
documentation 커멘트
주석은 소스 코드가 없는 개발자들도 읽고 이해할 수 있도록, 실제 구현된 코드와는 상관이 없는 코드의 명세 사항을 포함합니다.( 참고자가 보기 쉽게 )
- 주석이 많이 필요하다는 것은 코드의 품질이 좋지 않다는 것을 의미
- * 나 다른 사각형에 넣는 방법은 피하자
- 폼피드(form-feed : 프린터에서 용지 바꾸기)나 백스페이스와 같은 특수 문자를 포함해서는 안된다.
주석 구현
- 블록 주석(Block)
1. 첫줄은 비우고 사용한다.
2. 들여쓰기를 다시 고치지 못하도록 하기 위한 특별한 주석은 /*- 으로 시작할 수 있다. - 한줄 주석(Single-Line)
1. 빈 줄로 시작되어야 한다.
2. 한 줄로 끝나야 한다. - 꼬리 주석(Trailing)
1. 아주 짧은 주석이 필요한 경우 코드와 같은 줄에 작성한다. 하지만 충분히 띄어서 사용한다. - 줄 끝 주석(End-Of-Line)
1. // 는 한 줄 모드를 주석처리하거나 일부분 주석처리 하는 용도로써, 연속되는 여러줄에 사용하는 것은 안되지만,
코드의 일부분을 주석 처리하기 위해 여러 줄에 연속해서 사용하는 것은 허용된다.
참고 :
https://myeonguni.tistory.com/1596
https://www.oracle.com/java/technologies/javase/codeconventions-introduction.html