oop cop
Let's print actual class name length
동기 부여 . 우리는 프로젝트 OOP 관행을 검증 할 도구가 없으며, 우리가 어디에서 잘못하고 있는지 정확히 알려줍니다.
OOPCOP는 정적 분석 도구이자 Maven 플러그인으로, 피할 수없는 코드를 거부하여 객체, 클래스, 메소드를 올바르게 모델링하는 데 도움이됩니다. 우리가 용납하지 않는 것들 :
사용 방법 . 필요한 것은 다음과 같습니다 (여기에서 최신 버전을 얻으십시오).
Maven :
< build >
< plugins >
< plugin >
< groupId >ru.l3r8y</ groupId >
< artifactId >oop-cop</ artifactId >
< version >0.2.8</ version >
< executions >
< execution >
< goals >
< goal >search</ goal >
</ goals >
</ execution >
</ executions >
</ plugin >
</ plugins >
</ build >플러그인을 직접 실행하려는 경우 :
$ mvn ru.l3r8y:oop-cop:search이 클래스는 유효합니다.
class Pet {
private final String name ;
public Pet ( final String n ) {
this . name = n ;
}
}이 수업은 유효하지 않습니다.
class Pet {
private String name ;
public Pet ( final String n ) {
this . name = n ;
}
public void setName ( final String name ) {
this . name = name ;
}
}그러나 다음을 추가 하여이 점검을 억제 할 수 있습니다.
@ SupressWarnings ( "OOP.MutableStateCheck" )이 예제는 유효합니다.
class ParsedFile {
...
public String asText () {
...
}
}이것은 유효하지 않지만 :
class FileParser {
...
public String parse () {
...
}
}그러나 다음을 추가 하여이 점검을 억제 할 수 있습니다.
@ SupressWarnings ( "OOP.ErSuffixCheck" )TBD ..
TBD ..
TBD ..
이 예제는 유효합니다.
class PgItem {
...
}이것이 깨진 동안 :
class AbstractDatabaseConnection {
...
}최대 합리적인 길이를 구성하려면 다음 매개 변수를 사용하여 고려하십시오.
< plugin >
< groupId >ru.l3r8y</ groupId >
< artifactId >oop-cop</ artifactId >
...
< configuration >
< maxClassNameLen >15</ maxClassNameLen >
<!-- default is 13 -->
</ configuration >
</ plugin > 포크 리포지토리, 변경하고 풀 요청을 보내십시오. 우리는 귀하의 변경 사항을 검토하고 품질 표준을 위반하지 않는 경우 곧 master 지점에 적용 할 것입니다. 좌절을 피하려면 풀 요청을 보내기 전에 Full Maven 빌드를 실행하십시오.
$ mvn clean install -PquliceMaven 3.8+ 및 Java 8+가 필요합니다.