본문 바로가기
개념정리/JAVA

[JAVA] 자바 코드 컨벤션

by lanuarius19 2022. 10. 3.
728x90

JAVA 코드 컨벤션

코드 컨벤션이란?

 

한 마디로 코드를 작성할 때 프로그래머 사이에서 어떻게 작성할 것인지 약속한 것입니다.

지키지 않아도 코드 상의 에러는 발생하지 않지만, 가독성 및 일관성있는 코드 스타일을 위해 꼭 필요한 것이라고 할 수 있습니다. 개발자들이 사용하는 인텔리제이, 이클립스와 같은 IDE에서는 단축키를 사용하면 코드를 자동으로 정렬해주는데, 이것이 바로 자바 코드 컨벤션 규칙에 따라 코드를 알맞게 바꿔주는 것입니다.

 

해당 게시물은 아래의 코딩 컨벤션 문서를 참고하여 작성하였습니다.

 

https://google.github.io/styleguide/javaguide.html#s3.4.1-one-top-level-class

 

Google Java Style Guide

1 Introduction This document serves as the complete definition of Google's coding standards for source code in the Java™ Programming Language. A Java source file is described as being in Google Style if and only if it adheres to the rules herein. Like ot

google.github.io

https://naver.github.io/hackday-conventions-java/

 

캠퍼스 핵데이 Java 코딩 컨벤션

중괄호({,}) 는 클래스, 메서드, 제어문의 블럭을 구분한다. 5.1. K&R 스타일로 중괄호 선언 클래스 선언, 메서드 선언, 조건/반복문 등의 코드 블럭을 감싸는 중괄호에 적용되는 규칙이다. 중괄호

naver.github.io

 


 

파일

파일 인코딩

파일 인코딩은 UTF-8을 기본으로 한다.

(encoding-utf8)

 

파일 작성

파일의 마지막은 새 줄 문자로 끝나야 한다.


이름(Naming)

식별자

변수명, 메서드명, 클래스명은 영문/숫자만 사용해야 하고 카멜 표기법을 따라야 한다.

int checkCount; //(O)
int check_count //(X)
int CHECKCOUNT  //(X)
int checkcount  //(X)

 

상수에는 단어 간 구분을 위해 언더스코어( _ )를 사용해야 한다. 또한 대문자로만 표기해야 한다.

String FILE_PATH = "/upload" //(O)
String filePath = "/upload"  //(X)
String FILEPATH = "/upload"  //(X)
String file_path = "/upload" //(X)

 

패키지

패키지 이름은 소문자로만 구성되어야 한다. 또한 언더스코어( _ )의 사용도 금지된다.

package com.lms.usercourse  //(O)
package com.lms.userCourse  //(X)
package com.lms.user_course //(X)

 

메서드

메서드 이름은 동사로 시작해야 한다.

조회 메서드에는 where절에 들어갈 파라미터명을 By뒤에 써주면 가독성이 올라간다.

 

조회 : load

  • loadCourseByCourseId()

추가 : add

  • addCourse()

수정 : modify

  • modifyCourse()

삭제 : remove

  • removeCourse()

선언

클래스 import

클래스를 import 할 때는 와일드카드(*)의 사용 없이 전체 클래스명을 적어야 한다.

import java.util.List //(O)
import java.util.*    //(X)

 

문장 줄바꿈

한 줄에는 무조건 한 문장만을 적어야 한다.

한 문장의 기준은 세미콜론(;)이다.

String name = "lanuarius19"; int number = 19; //(X)

String name = "lanuarius19"; //(O)
int number = 19;

 

띄어쓰기/들여쓰기

띄어쓰기

if, for, while등의 제어문을 사용할 때는 한 칸을 띄어쓰기 해야 한다.

if (int i = 0; i < 5; i++) //(O)
if(int i = 0; i < 5; i++)  //(X)

 

등호의 양 옆은 한 칸을 띄어쓰기 해야 한다.

if (int i = 0; i < 5; i++) //(O)
if (int i=0; i<5; i++) //(X)

 

콤마(,)를 사용할 때는 앞 단어에 붙여쓰며, 뒤에 한 칸을 띄어쓰기 해야 한다.

String[] numberArray = {1, 2, 3, 4, 5}; //(O)
String[] numberArray = {1 ,2 ,3 ,4 ,5}; //(X)
String[] numberArray = {1,2,3,4,5};     //(X)

 

중괄호 띄어쓰기

중괄호의 양 옆은 한 칸을 띄어쓰기 해야 한다.

if (score == 100) { //(O)
	...
} else {
	...
}

if (score == 100){  //(X)
	...
}else{
	...
}

 

탭의 크기는 스페이스 4개로 설정한다. 단, 탭 대신 스페이스를 사용하지 않는다.

클래스, 메서드 등의 코드 블럭이 생길 때마다 단계를 높여 들여쓴다.

for (int i = 0; i < 5; i++) {
    if (i == 3) {
    	return;
    }
}

 

중괄호

중괄호 위치

중괄호는 줄의 마지막에 { 을 쓰고 블럭을 열어 코드를 쓴 후, 줄바꿈을 한 뒤 } 을 적어 마무리 해야 한다.

public class saveCourse() {  //(O)
	...
}

public class saveCourse()    //(X)
{
	...
}

 

else, catch, finally, while

위와 같은 키워드는 } 와 같은 줄에 써야 한다.

if ("apple".equals(words)) {          //(O)
	...
} else if ("banana".equals(words)) {
	...
} else {
	...
}

if ("apple".equals(words)) {          //(X)
	...
} 
else if ("banana".equals(words)) {
	...
} 
else {
	...
}

 

조건문/반복문

조건문과 반복문이 한 줄로 끝나더라도 중괄호를 사용해야 한다.

if ("A".equals(type)) {             //(O)
    return false;
}

if ("A".equals(type)) return false; //(X)

 

728x90

댓글