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 -PquliceMaven 3.8+とJava 8+が必要です。