[Java] Google Java Code Style Sheet에 대한 나름의 이해

2023. 11. 1. 19:57Java

license, package, import, class 순이고 한 공백라인씩 띄운다.

static class가 있으면 띄워준다.

오버로딩된 메소드는 무조건 붙여서 나열한다.

메소드를 나열할 때 논리적으로 나열한다. 생성순으로 하지 않는다.

중괄호는 무조건 쓴다. 비어있거나 한문장이더라도 써라.

아래와 같은 형태로 쓴다.

if (userCarsInputs.length == 0) {
            throw new IllegalArgumentException("하나 이상의 이름을 적으셔야 합니다.");
        }

{}를 쓸 수 있는 경우는 try-catch와 같은 멀티블록이 아닌 비어 있는 경우이다.

------

여기는 우테코 부분

들여쓰기 4

열제한 120

들여쓰기 지속은 최소 8

------

라인 래핑은 패키지, 임포트에 적용안된다.

Tip: Extracting a method or local variable may solve the problem without the need to line-wrap.

-> 함수로 추출하거나 지역변수를 활용하면 열 길이를 줄일 수 있다.

return userCarDistance.entrySet().stream()
                .filter(entry -> Objects.equals(entry.getValue(), maxValue))
                .map(Map.Entry::getKey)
                .toList();

비할당 연산자의 경우 위와 같이 심볼전에 라인 브레이킹이 된다.

int value =
    	someValue + anotherValue;
    
int value = someValue
		+ anotherValue;

할당 연산자의 경우 위의 두 경우 모두 허용된다.

 

수직 공백은 멤버들 사이에 넣어준다(필드는 선택사항).

그 외에는 논리성을 고려하여 유연하게 사용한다.

좌우 공백은 if, for와 ()를 띄운다.

for each문의 :에 대해서도 좌우 한칸씩 띄운다.

}와 else를 띄운다.

{ 전에는 띄운다.

행의 시작이나 끝에는 공백을 마음대로 넣어도 상관없다.

수평 정렬은 유지보수성이 좋지 않다.

가독성을 위해 소괄호를 적극 사용하자!

선언은 한번에 하나씩 하자

지역변수 선언은 필요할때 하자

Stirng[] arg OK, String arg[] NO

switch문에서 break를 안쓴다면 // fall through로 밑에 케이스도 실행된다는 것을 명시해준다.

항상 default를 적어주자

관련있는 주석 내용은 /**/를 사용하자(paragraphy style)

package이름은 소문자와 숫자로만 작성한다. 단어끼리는 그냥 이어붙인다.

Class 이름은 대부분 명사로 작성하자 하지만 형용사가 잘나타낸다면 형용사로 해도 괜찮다.

메소드 이름은 동사로 작성하자

상수(final이고 immutable)에는 UPPER_SNAKE_CASE를 사용하자

파라미터 이름으로 한 글자는 사용하지 말자.

지역변수는 상수가 될 수 없다.

타입 변수는 E, T, X, T2를 쓰거나 뒤에 T를 붙인다. RequestT, FooBarT

"supports IPv6 on iOS?" -> supportsIpv6OnIos

첫글자가 대문자이었다면 대문자를 살려주고 그게 아니라면 소문자로 표기

"YouTube importer" -> YoutubeImporter

@Override는 항상 써주자

catch에서 아무것도 안하면 주석으로 적어주자. test는 안적어줘도 된다.

static method는 클래스이름으로 호출하자.

 

Reference


https://google.github.io/styleguide/javaguide.html

 

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://github.com/woowacourse/woowacourse-docs/tree/main/styleguide/java