POCU 아카데미용 Java 코딩 표준

I. 메인 코딩 표준

  1. 패키지 이름은 모두 소문자로 작성한다.

     package com.awesome.math;
    
    
  2. import를 할 때는 전체 이름을 다 적는다. (*를 사용하지 않음)

    틀린 방식:

     import com.awesome.*;
    
    

    올바른 방식:

     import foo.bar;
    
    
  3. 클래스와 열거형을 선언할 때는 파스칼 표기법을 따른다.

     public class PlayerManager {
    // 코드 생략}
    
    
     public enum AccountType {
    // 열거형 멤버 생략}
    
    
  4. 클래스, 멤버 변수, 메서드에는 언제나 접근 제어자를 붙인다. 단, 기본 패키지 접근 권한이 필요할 경우에는 그렇지 않는다.

     public class Person {
         int mHeight;// 기본 (패키지) 접근 권한private int age;
    
         public int getAge() {
    // 메서드 구현 생략}
    
         private void doSomething() {
    // 메서드 구현 생략}
     }
    
    
  5. 접근 제어자는 다른 수정자(modifier)앞에 붙인다.

    틀린 방식:

     static public void doSomething() {
    // 메서드 구현 생략}
    
    

    올바른 방식:

     public static void doSomething() {
    // 메서드 구현 생략}
    
    
  6. 모든 메서드 이름은 카멜 표기법을 따라 짓는다.

     public int getAge() {
    // 메서드 구현 생략}
    
    
  7. 지역 변수와 메서드 매개변수 이름은 카멜 표기법을 따라 짓는다.

     int age = 10;
    
     public void someMethod(int someParameter) {
         int someNumber;
     }
    
    
  8. 메서드 이름은 동사로 시작한다.

     public int getAge() {
    // 메서드 구현 생략}
    
    
  9. 상수로 사용하는 final 필드의 변수명은 모두 대문자로 하되 밑줄로 각 단어를 분리한다.

     final int SOME_CONSTANT = 1;
    
    
  10. 인터페이스의 이름은 I로 시작한다.

    interface IFlyable;
    
    
  11. 열거형 멤버의 이름은 모두 대문자로 하되 밑줄로 각 단어를 분리한다.

    public enum MyEnum {
        FUN,
        MY_AWESOME_VALUE
    }
    
    
  12. 멤버 변수의 이름은 카멜 표기법을 따른다.

    public class Employee {
        public String nickName;
        protected String familyName;
        private int age;
    }
    
    
  13. 값을 반환하는 메서드의 이름은 무엇을 반환하는지 알 수 있게 짓는다.

    public int getAge();
    
    
  14. 단순히 반복문에 사용되는 변수가 아닌 경우엔 ie 같은 변수명 대신 indexemployee 처럼 변수에 저장되는 데이터를 한 눈에 알아볼 수 있는 변수명을 사용한다.

    int i;// BADint a;// BADint index;// GOODint age;// GOOD
    
    // GOODfor (int i = 0; i < 10; ++i) {
    
    }
    
    
  15. 줄임말(축약어)를 변수 및 메서드 명에 사용할 때는 기타 단어들과 동일하게 사용한다. 즉, 파스칼 표기법을 따르는 경우에는 오직 첫 번째 글자만 대문자로 바꾸며, 카멜 표기법을 따르는 경우에는 두 번째 단어부터 첫 번째 글자만 대문자로 바꾼다.

    int orderId
    String httpAddress;
    String myHttp;
    
    
  16. public 멤버 변수 대신 getter와 setter 메서드를 사용한다.

    틀린 방식:

    public class Employee {
        public String Name;
    }
    
    

    올바른 방식:

    public class Employee {
        private String name;
    
        public String getName();
        public String setName(String name);
    }
    
    
  17. 지역 변수를 선언할 때는 그 지역 변수를 사용하는 코드와 동일한 줄에 선언하는 것을 원칙으로 한다.