[JAVA] Hören wir auf, den Spezifikationspfad in den Code in den Kommentaren zu schreiben

(Erstes Nachskript) Die von uns neu erstellten Spezifikationen werden in "Markdown" beschrieben und von "GitHub" verwaltet. Ich habe so etwas geschrieben und es nicht begangen. Dokumentverwaltung für Entwicklungsprozesse mit Schwerpunkt auf GitHub

Die in diesem Artikel genannten Spezifikationen sind "Dateien, die in Excel erstellt und auf einem gemeinsam genutzten Server abgelegt wurden und nicht vom Team verwaltet werden".

Das ist üblich, nicht wahr?

public class FooService {
    /**
     *Technische Daten: ad.xxx.net/development/lorem/ipsum/dolor/sit/amet/consectetur/adipiscing/elit/sed/do/eiusmod/tempor
     * incididunt_2.xlsx
     */
    public void apply() {

    }
}

In dem Moment, als ich es sah, dachte ich: "Was ist" _2.xlsx "... Ist dieser Weg nicht absolut alt?"

Übrigens gibt es einen Bonus, dass der Pfad der Spezifikation lang ist und es eine Pause an einem fremden Ort gibt.

Es ist frustrierend, das zu sehen!

Selbst wenn ich nur an diese Kommentare denke, die ich mit einem leichten Gefühl geschrieben habe, gibt es so viele schlechte Punkte!

Ist der Punkt des Kommentars der Zeichenkette die Hauptursache?

Irgendwann plötzlich "Es ist ein Chaos, mit Kommentaren umzugehen. Sie können es mit" Enum "schaffen, dort eine Liste erstellen und ein kleines Zeichen mit einer Anmerkung setzen?" Ich habe mir die unten eingeführte Annotation "@ DocPath" ausgedacht.

Es ist super einfach und kostengünstig, probieren Sie es aus!

Wie üblich werden die "import" -Anweisung und der Konstruktor entsprechend abgekürzt. Schreiben Sie sie also oder verwenden Sie sie mit "lombok"!

src Machen Sie zuerst "Enum" so und definieren Sie es so, als würden Sie dem Pfad ein Etikett hinzufügen!

doc_path/Path.java


public enum Path {
API-Entwurfsrichtlinie("foo.ad.xxx.net/development/api/docs/readme.xlsx"),
Informationen zur Authentifizierung("foo.ad.xxx.net/development/authentication/docs/about.xlsx"),
    DB_Mitgliedertabelle("foo.ad.xxx.net/database/tables/users.xlsx"),
    DB_Kauftabelle("foo.ad.xxx.net/database/tables/items.xlsx"),
Serverkonfigurationsdokument("foo.ad.xxx.net/infrastructure/docs/service-A003.xlsx"),
API-Spezifikationen für Logistiksysteme("www.xxx.net/development/logistics/api/api.html"),
API-Spezifikationen für das Bestandsverwaltungssystem("www.xxx.net/development/warehouse/api/stocks.html");

    private final String value;
}

Dann machen Sie eine Anmerkung! Mach es einfach wirklich. Was ist eine Markierungsanmerkung? (Es tut mir leid, wenn es anders ist)

doc_path/DocPath.java


public @interface DocPath {
    Path path();

    String note() default "";
}

Das ist es! ich werde es versuchen

service/LogisticsService.java


@DocPath(path = Path.API-Spezifikationen für Logistiksysteme)
public class LogisticsService {
    public void apply() {

    }
}

Sie können auch Bemerkungen schreiben!

service/StockService.java


public class StockService {
    @DocPath(path = Path.API-Spezifikationen für das Bestandsverwaltungssystem, note = "Blatt 2 zur Zuordnung")
    public void take() {

    }

    @DocPath(path = Path.API-Spezifikationen für das Bestandsverwaltungssystem, note = "Blatt 3 zur Umkehrung")
    public void revert() {

    }
}

Vorteil

Erstens ist es sehr kostengünstig, weil Sie nur "DocPath.java" und "Path.java" erstellen!

Und einige im Ernst.

Kurz gesagt, ich wurde von Kommentaren zu "Java" befördert, damit ich vom Editor profitieren kann! Korrekt.

Außerdem

Es ist nützlich, weil es ein Level ist, das bisher genug verwendet werden kann.

Von hier an werde ich weitere Punkte als Bonus einführen.

Einige davon wurden bereits vom aktuellen Team nach Bedarf erreicht.

Ordnen Sie das Erscheinungsbild von Anmerkungen an

Nun, ich denke, es ist normalerweise in Ordnung, erstere in Klassen- und Methodendefinitionen und letztere in Klassendateien aufzunehmen.

Raw String Wenn Sie unter Windows entwickeln und der Pfad "" enthält, ist das Lesen und Schreiben mit "Raw String" möglicherweise einfacher.

In diesem Fall können Sie "Path.java" in "Path.groovy" ändern.

doc_path/Path.groovy


API-Entwurfsrichtlinie(/\\foo.ad.xxx.net\development\api\docs\readme.xlsx/),

Ich möchte, dass es schön aussieht

Wenn Sie vertikal ausrichten möchten, gibt es einige Punkte.

doc_path/Path.java


public enum Path {
    //@formatter:off

API-Entwurfsrichtlinie("foo.ad.xxx.net/development/api/docs/readme.xlsx"),
Informationen zur Authentifizierung("foo.ad.xxx.net/development/authentication/docs/about.xlsx"),
    DB_Mitgliedertabelle("foo.ad.xxx.net/database/tables/users.xlsx"),
    DB_Kauftabelle("foo.ad.xxx.net/database/tables/items.xlsx"),

    //@formatter:on

(Zusatz) Es ist ausgeschaltet ... Die gleiche Schriftbreite ist vertikal ausgerichtet, aber ist es die P-Schriftart in Qiitas Codesyntax?

Ich möchte defekte Links erkennen

Wenn ich den Kommentar beende und ihn zu "Java" mache, kann ich alles dagegen tun.

Schreiben Sie den entsprechenden Testcode und die Methode check (Path path) in Spock

PathTestSpec.groovy


Path.values().each { check(it) }

Sie können es so machen, oder Sie können dafür sorgen, dass es sich wie "Enum" verhält

doc_path/Path.java


:
:

public void check() {
    // this.Tun Sie etwas gegen den Wert
}

Aber es ist okay.

Ich möchte öffnen

Das spielt auch keine Rolle.

Ist es am einfachsten, "Repl" zu verwenden, um "Enum" zu verhalten?

doc_path/Path.java


:
:

public void open() {
    // this.Tun Sie etwas gegen den Wert
}
repl> Path.API-Entwurfsrichtlinie.open()

Wenn Sie es mit "Groovy" oder "Scala" ausführen können (nun, es ist nicht "Java9"), können Sie schnell sagen, dass es von "Repl" zu "Enum" selbst geöffnet ist.

Als Bonus werde ich auf die Artikel verweisen, die ich in der Vergangenheit geschrieben habe. Kurz gesagt, es ist ein Doppelklick. Wenn es sich also um ".xlsx" handelt, wird Excel geöffnet, und wenn es sich um ".html" handelt, wird der Browser geöffnet. Wenn es sich also um einen Mac handelt, reicht "open" + this.value "aus!

Andere Freiheit

Sie können tun, was Sie wollen, sobald Sie es herunterladen.

Wenn Sie jedoch die Existenz von Dateien überprüfen oder externe Befehle ausführen möchten (open, cp oder wget), scheint Groovy einfacher zu sein.

Der Unzufriedenheitspunkt, den ich zu Beginn geschrieben habe, hätte mit dem veröffentlichten Beispielcode und einer kleinen Geschichte, die angemessen flackert, fast gelöst werden müssen.

In anderen Sprachen?

Am Ende geht es nur darum, Kommentare in eine Konstante zu setzen. Ich denke, Sie können in jeder Sprache etwas Ähnliches tun. Ich weiß nicht, ob es eine Anmerkung sein wird.

Sie können einfach einen Aufzählungstyp erstellen und an einer auffälligen Stelle platzieren, sodass Sie in gewissem Umfang in der Lage sein sollten, etwas Ähnliches zu tun.

Lösche den Lügenkommentar-Pass!

Recommended Posts

Hören wir auf, den Spezifikationspfad in den Code in den Kommentaren zu schreiben
Errate den Zeichencode in Java
Stoppen wir die göttliche Entität, die alle Statistiken in einer Klasse ausdrückt!
Die Anwendung absorbiert den Unterschied im Zeichencode
Die Geschichte des Schreibens von Java in Emacs
Klassenpfad hinzufügen: zu dem in spring.datasource.schema angegebenen Pfad