본문 바로가기

개발환경

CodeStyle Rules

반응형
AbstractClassName abstract class 의 이름을 확인
AnonInnerLength 무명의 inner class 길이 확인
ArrayTrailingComma 배열 초기 설정에 Comma 확인
ArrayTypeStyle array 형식으로 정의된 스타일 확인
AvoidInlineConditionals    InLine Condition 검출 확인
AvoidNestedBlocks nested block 확인
AvoidStarImport  import 구문에 * 표기를 사용하는지 확인
BooleanExpressionComplexity  &&, ||, &, |, ^ 표기가 특정 깊이 이상인지 확인(기본=3)
ClassDataAbstractionCoupling  주어진 class에서 다른 Class의 instance의 갯수 확인
ClassFanOutComplexity    주어진 class가 의존하는 다른 Class들의 갯수 확인
ConstantName 일정한 이름들이 Format Property에 의한 Format Spec을 따르는지 확인.
CovariantEquals class가 물리적으로 같은 method를 정의했을때 method가 같음을 확인.
CrossLanguageRegexpHeader FileSetCheck 와 비슷함.
CyclomaticComplexity 규정된 제한에 반하는 cyclomatic 복잡도를 확인.
DeclarationOrder Java Code Convention으로 부터 제안된 Class나 interface의 선언 순서를 확인
DefaultComesLast switch문의 모든 case문 아래에 default가 있는지 확인.
DescendantToken 다른 token 아래에 특정 token 확인
DesignForExtension class가 상속을 위해 design 되었는지 확인
DoubleCheckedLocking double-checked locking 구문 확인. synchronization overhead 를 피하기 위해 노력했으나 java memory model의 미묘한 점들 때문에 부정확하다.
EmptyBlock 빈 Block 확인
EmptyForInitializerPad 초기자를 위한 공백의 삽입구를 확인. 이것은 초기자를 위한 공백에 요구되어지는 공간이거나 금지된 공간이다.
EmptyForIteratorPad iterator를 위한 공백의 삽입구를 확인. 이것은 intrator를 위한 공백에 요구되어진 공간이거나 금지된 공간이다.
EmptyStatement 빈문장을 찾는다.
EntityBean EndtityBean 상속이 EntityBean 요구사항을 만족하는지 확인.
EqualsHashCode class가 equals()또는 hashcode()를 override 했는지 확인
ExecutableStatementCount 규정된 한계를 두기 위해 실행가능한 구문의 갯수를 한정함 (기본=30)
ExplicitInitialization class나 object member가 자신의 type값으로 명확히 초기화 되었는지 확인.
FallThrough switch 구문에서 case 위치를 찾아 바로 떨어지는지 확인.
FileLength 긴 Source file을 확인.
FinalClass final로 선언된 단지 개인적인 Class 인지 확인.
FinalLocalVariable 지역 변수가 값 변경이 안되는 final로 선언된 것인지 확인.
FinalParameters method/생성자/catch/foreach parameter가 final인지 확인.
FinalStatic 모든 static field가 final 로 선언 되어있는지 확인.
GenericIllegalRegexp Code 문제점을 위한 일반적 확인사항을 사용자가 여러 pattern을 이용하여 찾을 수 있다.
Header 고정된 header file에 반하는 소스의 header를 확인.
HiddenField 같은 class안에 정의된 지역변수나 parameter가 field를 덮어버리지 않는지 확인.
HideUtilityClassConstructor Utility class가 public 생성자를 가지지 않는지 확인.
IllegalCatch java.lang.Exception,java.lang.Error, java.lang.RuntimeException 이 받아들여지지 않는 경우를 확인.
IllegalImport 잘못된 package의 set으로부터 import 되었는지 확인.
IllegalInstantiation factory method가 부르는 것이 잘못된 초기화를 하는지 확인.
IllegalThrows java.lang.Error 나 Java.lang.RuntimeException(받지 못함.) 던지는지 확인.
IllegalToken illegal token 확인
IllegalTokenText illegal token text 확인.
IllegalType 각각의 class의 type이 다양한 선언이나 return value 나 parameter로 사용되지 않는 경우 확인.
ImportControl 각각의 package로부터 import 될 수 있는 package인 control들을 확인.
ImportOrder import의 ordering/grouping을 확인하기 위한 class
Indentation java code 의 올바른 들여쓰기 확인.
InnerAssignment 하위표현들에 할당을 확인 (String s= Integer.toString(i=2))
InterfaceIsType Effective Java (책을 말하는 듯) Item17 - Interface는 오직 type을 정의 하기위해 사용한다.
JUnitTestCase setUp(),tearDown() method가 이름이 정확한지 arguments는 없는지 void를 return 하는지 확인하고 각각이 public이나 protected인지 확인한다.
JavaNCSS 이 check 는 java source나 method에 NCSS(Non Commenting Source Statements)를 계산한다.
JavadocMethod method나 생성자의 javadoc을 확인.
JavadocStyle Custom Checkstyle은 Javadoc의 유효성을 검사한다.
JavadocType javadoc type 확인.
JavadocVariable 변수가 javadoc comment를 가지는지 확인.
LeftCurly method나 다른 block의 type에서 왼쪽 구부러지진 괄호가 위치하는지 확인.
LineLength line 길이 확인.
LocalFinalVariableName final 지역 변수 이름이 format property의 정해진 format에 맞는지 확인.
LocalHomeInterface local home interface 요구사항을 확인. 예를 들어 모든 method는 java.rmi.RemoteException을 던지면 안된다.
LocalInterface local interface의 method를 확인.
LocalVariableName local, non-final 변수의 이름이 format property에 의해 규정된 format을 따르는지 확인.
MagicNumber magic number 확인.
MemberName instance 변수 이름이 format property의 format spec에 맞는지 확인.
MessageBean MessageBean 상속이 MessageBean 요구사항에 맞는지 확인.
MethodLength method의 길이 확인.
MethodName method의 이름이 format property의 format spec을 따르는지 확인.
MethodParamPad method 정의 구별자, 생성자 정의, method 호출,생성자 내부호출의 parameter list의 괄호가 잘 묶었는지 확인.
MissingCtor 추상을 제외한 Class ctor와 defalut 인것에 의존하지 않게 정의하는지 확인
MissingSwitchDefault switch문이 defalut를 가지고 있는지 확인.
ModifiedControlVariable for loop 제어 변수가 for block 안에 수정되지 않는지 확인.
ModifierOrder 수정자의 순서가 java language spec에서 제안한대로 따르는지 확인.
MultipleStringLiterals File에서 같은 String 문구가 여러번 발생되는지 확인.
MultipleVariableDeclarations  각각의 변수선언이 자신의 문장과 자신의 문구인지 확인.
MutableException 예외가 불변인지 확인
NPathComplexity  path의 복잡도가 spec 제한에 반하는지 확인 (기본=200)ㅖ
NeedBraces code block 주위의 중괄호 확인.
NestedIfDepth if-else 구문을 규정된 깊이로 제한한다.(기본=1)
NestedTryDepth try-catch-finally 구문을 규정된 깊이로 제한한다.(기본=1)
NewlineAtEndOfFile 새로운 줄이 각 file의 끝인지 확인
NoWhitespaceAfter token뒤의 공백이 없는지 확인
NoWhitespaceBefore token앞의 공백이 없는지 확인
OperatorWrap 조작자를 위한 line wrapping 확인.
PackageDeclaration package 선언을 확인한다.
PackageHtml 모든 package가 package 문서를 가지고 있는지 확인.
PackageName package 이름이 format property의 format spec을 따르는지 확인.
ParameterAssignment parameter의 허락되지 않는 할당 확인.
ParameterName parameter이름이 format property의 format spec을 따르는지 확인.
ParameterNumber method나 생성자의 parameter 갯수를 확인
ParenPad 괄호로 감싸져 있는지 확인
RedundantImport 필요없는 import 확인.
RedundantModifier interface나 annotation정의에서 필요없는 수정자를 확인
RedundantThrows 필요없는 exception 확인. 중복되거나 체크되지 않ㄴ거나 다른 exception 선언일 경우
Regexp file에 특정 pattern 확인.
RegexpHeader 소스의 header가 header file에 반하는지 확인
RemoteHomeInterface remote home interface method를 확인.
RemoteInterface remote interface method를 확인.
RequireThis code가 "this" 에 의존하지 않는지 확인.
RequiredRegexp code에 규정된 pattern의 존재를 확인.
ReturnCount 규정된 count의 return 문장 제한. (기본 2)
RightCurly 오른쪽 휘어진 괄호 위치하는지 확인.
SessionBean SessionBean 상속이 SessionBean 요구사항을 만족하는지 확인.
SimplifyBooleanExpression 지나친 복잡도의 boolean 표현 확인.
SimplifyBooleanReturn 지나친 복잡도의 boolean return 확인.
StaticVariableName static 확인. format property의 format spec을 non-final 변수 이름이 따르는지 확인
StrictDuplicateCode 모든 code의 줄과 줄을 비교하고 들여쓰기만 다른 줄의 중복된 코드 실행.
StringLiteralEquality String 문자열이 == 나 !=를 사용하지 않는지 확인.
SuperClone override 하는 clone method가 super.cline()을 부르는지 확인.
SuperFinalize override 하는 finalize method가 super.finalize()을 부르는지 확인.
TabCharacter 탭 문자(\t)가 소스코드에 있는지 확인.
ThisParameter this'가 다른 method호출이나 bean을 위한 생성자의 parameter가 아닌지 확인.
ThisReturn 'this'가 bean method에 의해 return되지 않는지 확인.
ThrowsCount 규정된 갯수의 throws 문장 제한.(기본 1)
TodoComment TODO comments 확인.
TrailingComment 오직 line에만 언급되는 요구사항을 확인.
Translation TranslationCheck class는 일관된 것으로 여겨지는 key를 위한 property file check를 하는 올바른 번역을 확인하는 것을 돕는다.
TypeName type 이름이 format property의 format spec에 따르는 지 확인.
TypecastParenPad typecast를 위해 괄호가 감싸졌는지 확인
UncommentedMain main method에 주석없는 것 찾는다.
UnnecessaryParentheses 만약 필요없는 괄호가 문장 또는 표현에 사용된다면 체크.
UnusedImports 사용되지 않는 import 문장 체크
UpperEll 긴 상수가 upper Ell 과 정의 되었는지 체크
VisibilityModifier class member의 가시성 확인.
WhitespaceAfter 공백에 의한 token을 확인.
WhitespaceAround token이 공백으로 둘러싸였는지 확인
WriteTag javadoc tag 출력
반응형

'개발환경' 카테고리의 다른 글

Subversive Plug-ins Url  (0) 2008.04.28
Continuous Integration  (0) 2008.04.28
Eclipse의 눈속임.  (0) 2008.04.04
CVS Server의 구분  (0) 2008.04.02
Subversion의 한글 도움말 영문으로 바꾸기  (0) 2008.03.18