2017-10-31 6 views
1

Von Zeit zu Zeit sehe ich auf Code-Reviews solche DefinitionenCheck Regel für Klasse Abschnitte

public class EntityConverter { 
    private static final int FIRST_VERSION = 1; 
    @Autowired 
    private EntityRepository repository; 

    public void someMethod() { 
     ... 
    } 
    ... 
} 

und/oder

public class EntityConverter { 
    private static final int FIRST_VERSION = 1; 

    @Autowired 
    private EntityRepository repository; 
    public void someMethod() { 
     ... 
    } 
    ... 
} 

Wie leere Zeile Trennung erzwingen Jungs erzwingen 1 leere Zeilen hinzufügen zwischen Klassenabschnitten (zwischen Konstanten, Variablen, Methoden usw.)?

+0

Was ist Ihre IDE? – Salman

+0

@Salman ist es egal. Diese Überprüfung muss am CI-Server erfolgen. –

+0

Es ist eine saubere Code-Messung. Warum sollte ein CI-Server es erkennen können? Haben Sie eine Lösung, um es für ein CI zu definieren? – Salman

Antwort

1

Nun, Ihre beste Wette wäre der EmptyLineSeparator Scheck. Nach seiner docs es:

Kontrollen für leere Zeilenseparatoren nach Header, Paket, alle Einfuhranmeldungen, Feldern, Konstruktoren, Methoden, verschachtelten Klassen, statische Initialisierungen und Instanz initializers.

konfigurieren wie folgt aus:

<module name="EmptyLineSeparator"/> 

Die tokens Eigenschaft steuert, in dem Sie die leeren Zeilen möchten. (Zumindest können Sie aus einer Liste von Orten wählen.)

Sie benötigen mindestens Checkstyle 5.8, besser 6.18 oder höher.

+0

Es ist sehr nahe, was ich brauche, aber es unterscheidet nicht "statische final" Konstanten und nur Felder. –

+0

Ich verstehe, aber das ist alles, was Sie erhalten, wenn Sie nicht bereit sind, Ihre eigenen benutzerdefinierten Schecks zu schreiben. –

+0

Neben dem Schreiben eines eigenen Schecks können Sie Checkstyle bitten, Ihre Änderungen in den Bericht einzubeziehen, wenn dies für andere sinnvoll ist, oder Sie können den bestehenden Scheck selbst verlängern. – rveach