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+。