oop cop
Let's print actual class name length
動機。我們沒有這樣的工具可以驗證我們的項目OOP實踐,而是確切地告訴我們在哪裡做錯了。
OOPCOP是一種靜態分析工具和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分支。為了避免挫敗感,在向我們發送拉動請求之前,請運行完整的Maven構建:
$ mvn clean install -Pqulice您將需要Maven 3.8+和Java 8+。