[ JAVA ] 자바 스타일 가이드 feat. Google

신범철·2022년 10월 26일
0

자바

목록 보기
18/20
post-custom-banner

목차

개요

자바의 구글 스타일 가이드를 준수하며 코드를 짜기 위해
newwisdom님과 myeonguni님의 블로그를 참고하여 내 방식대로 정리한 내용입니다.

1. 소개

1-1 자바 스타일 가이드는 왜 필요한가?

  1. 소프트웨어를 개발하는 일련의 모든 과정에 들어가는 비용 중 80%가 유지보수에 쓰여진다.
  2. 소프트웨어의 직접 개발한 개발자가 그 소프트웨어의 유지보수를 담당하는 경우는 거의 보기 힘들다.
  3. 코딩 규칙을 지키면 다른 개발자가 그 소스 코드를 처음 보았을 때, 더 빠른 시간 안에 완벽하게 이해할 수 있도록 도와주기 때문에 가독성 향상
  4. 소스 코드 판매를 하기 위해, 패키지를 적절하게 구성할 필요가 있다.

2. 파일

2-1 파일 이름

파일 이름 + 파일 확장자로 구성

2-2 파일 확장자

2-3 공통으로 사용되는 파일 이름

3. 소스 파일 구조

  • 라이센스 또는 저작권 정보(있는 경우)
  • package 구문
  • Import 구문
  • 정확히 하나의 최상위 Class

정확히 하나의 빈 줄이 각 섹션을 구분합니다.

3-1 시작 주석

3-2 Package 구문과 Import 구문

열 제한(100)에 의한 줄 바꿈 없음

3-3 Class와 Interface 선언

4. 들여쓰기(tab)

Google : +2 space 들여쓰기를 표준으로 한다.
우테코 : +4 space 들여쓰기를 표준으로 한다.

4-1 괄호

예외!

  • 빈 블록시 {} 가능

4-2 열 제한 : 100

Java 코드의 열 제한은 100자입니다.

예외!

  • 열 제한을 따를 수 없는 행(ex: javadoc의 긴URL 등)
  • Package 및 import문
  • 셸에 복붙되는 주석의 명령 줄

5. 주석

4가지 형식의 주석 가능

  • 블록 주석
  • 한 줄 주석
  • 꼬리 주석
  • 줄 끝 주석

5-1 블록 주석

주로 파일, 메서드, 자료구조, 알고리즘에 대한 설명을 제공할 때 사용

5-2 한 줄 주석

주로 설명이 한 줄일 경우 사용

5-3 꼬리 주석

정말 몇 글자 안들어가는 경우? 코드와 같은 줄에 들어간다. 충분히 띄어쓰고 써야함
-> 명확한 규칙은 모르겠다..

5-4 줄 끝 주석

//은 한 줄 모두를 주석처리하거나 한 줄의 일부분을 주석 처리해야할 경우 사용

6. return 문

값을 반환하는 return 문은 특별한 방법으로 더 확실한 return 값을 표시하는 경우를 제외하고는 괄호는 사용하지 않는 것이 좋다.

7. 공백

if문, for문, while문, do-while문, switch문과 조건이 들어가는 사이에는 띄어쓰기가 필요하다.

8. Annotations

클래스, 메서드 또는 생성자에 적용되는 Annotations은 documentation block 바로 뒤에 나타나며 각 어노테이션은 한 줄에 하나의 어노테이션으로 구현

9. 네이밍

식별자 타입의 네이밍 기법이 조금씩 다르므로 그것이 상수인지 패키지인지 클래스인지 알수 있음

식별자 타입

  • Packages
  • Classes
  • Interface
  • Methods
  • Variables
  • Constants

9-1 Packages

패키지의 이름은 모두 소문자이며 밑줄 같은 것도 사용 x
주로 들어가는 것은 부서명, 팀명, 프로젝트명 등 이다.

9-2 Classes

UpperCamelCase로 작성

ex) class Raster;
class ImageSprite;

9-3 Interfaces

Classes와 같이 UpperCamelCase로 작성

ex) interface RasterDelegate;
interface Storing;

9-4 Methods

메서드의 이름은 동사이어야 하며, 복합 단어의 경우 첫 단어를 소문자로 시작하고 그 후는 대문자

ex)
run();
runFast();
getBackground();

9-5 Variables

복합 단어의 경우 첫 단어를 소문자로 시작하고 그 후는 대문자

이름은 짧지만 의미있어야 한다. 한 문자로만 이루어진 변수 이름은 암시적으로만 사용하고 버릴 변수일 경우를 제외하고는 피해야 한다.

ex)
int i;
char c;
float myWidth;

9-6 Constants

클래스 상수로 선언된 변수들과 ANSI 상수들의 이름은 모두 대문자로 쓰고 띄어쓰기는 _로 분리해야 한다.

ex)
static final int MIN_WIDTH = 4;
static final int MAX_WIDTH = 999;
static final int GET_THE_CPU = 1;

마치며

아래 참고 문헌의 블로그들의 프로그래밍 습관을 읽어보자~
우테코 가보자고~~!

참고문헌

profile
https://github.com/beombu
post-custom-banner

0개의 댓글