반응형

Checkstyle은 소스 코드가 준수하면 바람직한 많은 스타일 규칙을 제공하고 있다. 다음 표는 Checkstyle이 지원하는 코딩 스타일 규칙 중 기본적으로 탑재된 Sun 코딩 스타일 규칙[1] 중 일부를 보여준다.

범주 설명
Javadoc Comments 패키지, 메소드, 변수에 대한 문서화 스타일 검사
Naming Conventions 표준 명명 규약 검사를 위한 규칙
Imports 불필요하거나 중복된 Import 검사
Size Violations 과도하게 긴 문장, 메소드 혹은 많은 매개변수
Blocks 불필요하거나 필요하지만 생략된 괄호 검사
Coding Problems 하드코딩, 불필요한 표현이나 문장 검사
Class Design 불필요하거나 필요하지만 생략된 Modifier 또는 생성자 검사
Miscellaneous 배열 스타일, 매개변수 스타일 등의 기타 스타일 규칙



추가적으로 Checkstyle은 코딩 스타일을 새롭게 정의하거나 기존의 코딩 스타일을 수정하여 확장할 수 있는 기능도 제공하고 있다. Eclipse의 Windows -> Properties 창의 Checkstyle에서 New 버튼을 클릭하여 새로운 규칙을 추가할 수 있다.

참고로 Checkstyle이 제공하는 스타일 규칙에 대한 설명은 다음에서 확인할 수 있다. http://checkstyle.sourceforge.net/availablechecks.html

 

 

 

코딩 스타일  검사는 소스 코드를 구성하는 클래스/메소드/변수 등의 이름과 문장들의 형태의 일관성을 유지함으로써 소스 코드의 가독성을 높이고 결함의 가능성이 있는 문장 패턴을 검출하여 제거함으로써 소스 코드의 신뢰성을 높이는 것을 목표로 한다.

코딩 스타일 검사에서는 소스 코드를 구성하는 클래스/인터페이스/메소드/필드 등의 명명 방법과 코드의 작성 형태에 대한 규칙을 검사한다. 예를 들어 “한 행에 하나의 선언만을 한다.” 스타일이 있다. 다음은 이 스타일을 준수하지 않는 코드(좌측)와 준수하는 코드(우측)를 보여준다.

비 권장 권장
int age, grade ;
int age ;
int grade ;

 

일관된 코드를 통해서 가독성을 높이기 위해서는 개발자들이 공통적으로 사용하는 코딩 스타일을 정의할 필요가 있다. 코딩 스타일은 Java, C++ 등과 같은 언어에 따라서 별도로 정의가 된다. 다음은 Java 언어와 C++ 언어의 대표적인 코딩 스타일을 보여 준다.

언어 대표적인 코딩 스타일 정의
Java
  • Oracle: Code Conventions for the Java Programming Language[1]
  • Google Android: Code Style Guidelines for Contributors[2]
C++
  • Google C++ Style Guide[3]
  • GCC Coding Conventions[4]

 


[1] http://www.oracle.com/technetwork/java/javase/documentation/codeconvtoc-136057.html
[2] http://source.android.com/source/code-style.html
[3] http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml
[4] http://gcc.gnu.org/codingconventions.html

 

 

 

출처 :  http://soft-tnq.com/wordpress/?p=5532

 

반응형

+ Recent posts