깔끔한 코딩을 위한 부분에 대해서 알아보겠습니다.

공통 규칙

  • 파스칼 표기법(PascalCase)과 카멜 표기법(camelCase)를 사용한다.
    • 파스칼 표기법 : 모든 단어에서 첫번째 문자는 대문자이며 나머지는 소문자이다.(예: PascalCase)
    • 카멜 표기법 : 최초에 사용된 단어를 제외한 첫번째 문자가 대문자이며 나머지는 소문자이다.(예: camelCase)
  • 명칭에 약어는 최대한 사용하지않도록 한다.(단, 일반적으로 사용되는 약어는 그대로 사용한다)
  • 반의어는 반드시 대응하는 개념으로 사용해야 한다.
    • get / set
    • add / remove
    • create / destroy
    • start / stop
    • insert / delete
    • increment / decrement
    • old / new
    • begin / end
    • first / last
    • up / down
    • min / max
    • next / previous
    • open / close
    • show / hide
    • suspend / resume
    • parent / child

패키지(Package) 명명 규칙

  • 패키지명은 표준 패턴을 따라야 한다.
    • [com].[회사명].[프로젝트명].[최상위패키지명].[하위패키지명]
  • 패키지명으로는 가급적 한 단어의 명사를 사용한다.
    • 좋은 예 : com.company.project.member.object
    • 나쁜 예 : project.memberObject

클래스(Class) 명명 규칙

  • 클래스명에는 파스칼 표기법을 사용한다.
    • public class HelloWorld { }
  • 인터페이스에는 특별한 접두사나 접미사를 사용하지않고 파스칼 표기법을 사용한다.
    • public interface Animal { }
  • 인터페이스를 구현한 클래스에는 특별한 접두사나 접미사를 사용하지않고 파스칼 표기법을 사용한다.
    • public class Tiger implements Animal { }
  • 추상클래스에는 특별한 접두사나 접미사를 사용하지않고 파스칼 표기법을 사용한다.
    • public abstract class Animal { }

메소드(Method) 명명 규칙

  • 메소드명에는 파스칼 표기법을 사용한다.
    • public void SayHello(string name) { }
  • 속성(attribute)에 접근하는 메소드명의 접두사는 ‘get’, ‘set’를 사용한다.
  • 데이터를 조회하는 메소드명의 접두사는 ‘find’을 사용한다.
    • public String findMember(String memberId) { }
  • 데이터를 입력하는 메소드명의 접두사는 ‘input’을 사용한다.
    • public int inputMember(HashMap member) { }
  • 데이터를 변경하는 메소드명의 접두사는 ‘modify’을 사용한다.
    • public int modifyMember(HashMap member) { }
  • 데이터를 삭제하는 메소드명의 접두사는 ‘delete’을 사용한다.
    • public int deleteMember(String memberId) { }
  • 초기화하는 메소드명의 접두사는 ‘init’을 사용한다.
    • public String initPassword(String memberId) { }
  • 반환값의 타입이 boolean인 메소드는 접두사로 ‘is’를 사용한다.
    • public boolean isMember(String memberId) { }

변수(Variable) 명명 규칙

  • 변수와 메소드의 파라미터에는 카멜 표기법을 사용한다.
  • 변수명에 헝가리안 표기법을 사용하지 않는다.
    • 헝가리안 표기법(Hungarian Notation) : 변수명을 지을때 한 단어 혹은 두 단어정도로 된 접두사를 사용하여 변수의 데이터 타입이나 자료형등의 성질이나 특성을 나타내는 방법이다.(예 : nHeight, strName, bStopYn…)
    • 예전에는 많이 사용되었으나 현재는 추천하지 않는 편이다.
  • 변수에 모든 의미를 충분히 담는다.(약어의 사용을 자제)
    • 좋은 예 : String address; / int salary;
    • 나쁜 예 : String nam; / String addr; / int sal;
  • 한 글자로 된 이름을 사용하지 않는다.
  • 반복문에서 인덱스로 사용할 변수는 i, j, k… 등으로 사용한다.
  • 지역변수와 멤버변수(전역변수)는 변수명 앞에 밑줄(_)을 사용하여 구별한다.(멤버변수에 사용)
  • 프로그래밍언어에서 미리 지정한 키워드와 비슷한 이름은 사용하지 않는다.
  • boolean 타입의 변수는 접두사로 ‘is’를 사용한다. (예 : boolean isFinished;)
  • UI 구성요소를 나타내는 변수는 해당 요소 타입 이름을 접미어로 사용한다.
  • UI 구성요소에 적당한 접두사를 사용한다.

그 외의 규칙

  • 파일명은 파스칼 표기법을 사용한다.
  • 지시자(operator)와 괄호 앞뒤로는 한 칸의 공간을 남긴다
    • 좋은 예 : if ( showResult == true )
    • 나쁜 예 : if(showResult==true)
  • 리소스 ID 에는 스네이크 표기법를 사용한다.(예 : snake_case)
  • UI 구성요소를 위하여 공통적인 접두사를 사용한다.
    • Label : lbl
    • TextView : txt
    • DataGrid : dtg
    • Button : btn
    • ImageButton : imb
    • Hyperlink : hlk
    • DropDownList : ddl
    • Image : img
    • Panel : pnl
    • PlaceHolder : phd
    • Table : tbl
  • 논리적인 코드 그룹은 빈 줄 하나로 구분해야 한다.
  • 무한 루프는 while (true) 형식을 사용한다.
    • 나쁜 예 : for (;;)
    • 나쁜 예 : while (1)