Als Entwickler muss es strenge Codespezifikationen geben. Aus diesem Grund habe ich einige Fälle von Codespezifikation zusammengefasst.
Inhaltsverzeichnis
1. Vorwort
2. Versuchsbereich
3.. Java-Namensschwerpunkt-
3.1 Öffentliche Vereinbarung
3.2 Java -Dateien, Taschen, Taschen
3.3 Klasse, Schnittstellennamenspezifikationen
3.4 Methode -Benennungsspezifikation
3,5 Konstante
3.6 Variablen und Parameter
3.7 Komponente/Komponente
3.8
3.9 Mysteriöse Nummer
3.10 andere
3.11 Java -Ausnahme
3.12 Array -Namen
3.13 Datenbanktabelle Benennungsregeln
3.14 Datenbankfeld -Benennungsregeln
3.15 JSP -Dateiname
3.16 Servlet -Name
4. Schreibformatspezifikation
4.1 Endix
4.2 Raum
4.3 Ausrichtung
4.4 leere Linie
4.5 Hinweis
5. Codedateistil
1. Vorwort, um die Lesbarkeit des Systemquellenprogramms zu gewährleisten, wodurch die Systemwartung des Systems verbessert und die folgenden Programmierspezifikationen formuliert werden, um die Programmierung des Systems zu regulieren. Die Quellprogramme in anderen vom System geerbten Ressourcen sollten auch entsprechend gemäß dieser Spezifikation geändert werden.
2. Der Versuchsumfang dieses Dokuments wird als Programmierformat für die Entwicklung der Hebei Postal Application System Software (Java -Sprache) verwendet. Während der Codierung, des Test- und Wartungsprozesses des Systems muss streng beobachtet werden.
3.. Java -Benennungsspezifikation
3.1 Namensname, Methode, Verzeichnis, Paket, Datenbank -Tabellenname, Datenbankfeld usw. Im Namen des Namens von Quelldatei, Methode, Verzeichnis, Paket, Datenbank -Tabelle Name, Datenbank -Tabellenname, Datenbankfeld. Kahl
Die vom System verwendete Benennung wird in englischen Abkürzungen ausgedrückt. Kahl
Die Benennungsmethode lautet: Präfix+{Namenswortabkürzung}, Präfix drückt die Verwendung von Namenszahlen wie Datenbanktabellen aus. Kahl
Das Namenspräfix wird vom Projektteam festgelegt. Kahl
Andere Objekte mit Ausnahme der Systeme für öffentliche Wartungsobjekte, die alle Benennungsbetriebe einbraten. Ein Weg verwendet "_" als Verbindungssymbol, und der andere besteht darin, die ersten Buchstaben des Wortes Prime direkt zu verbinden. In dieser Spezifikation übernimmt der Name des Datenbanknamens und des Datenbankfelds den ersten Weg, und der Rest ist in der zweiten Art und Weise. Kahl
Die Verwendung kann den vollständigen englischen Deskriptor für Variable/Feld/Klasse/Schnittstelle/Tasche genau veranschaulichen. Zum Beispiel ist es strengstens verboten, chinesische Pinyin und nicht verwandte Wörter zu verwenden, obwohl Java Nicode -Namen unterstützt, so diese Spezifikation vorschreibt, dass es keine chinesischen Zeichen, Klassen, Unterfassen, es dürfen, dass Java nicht mithilfe von Nicode -Namen, Grenzflächen dient, die Nicode -Namen, Grenzflächen dürfen, streng unter Verwendung von Namen wie FirstName, ListAllusers oder CorporateCustomer. , Methoden, Variablen, Felder usw. benannt
Verwenden eines Kleinbuchstabens zur Verbesserung der Lesbarkeit des Namens. Im Allgemeinen sollten Kleinbuchstaben verwendet werden, aber die ersten Buchstaben der Namen und Schnittstellennamen und der erste Buchstaben eines Zwischenworts sollten Großbuchstaben sein. Alle Paketnamen. Kahl
Versuchen Sie, als wenig Abkürzungen zu verwenden, aber wenn Sie es verwenden müssen, können Sie, wenn Sie öffentliche Abkürzungen verwenden, und gewohnheitsmäßige Abkürzungen wie das Implement Missbrauch von Missbrauch. (Vermeiden Sie es, lange Namen zu verwenden (vorzugsweise nicht mehr als 25 Buchstaben).
Vermeiden Sie die Verwendung von Zahlen, aber 2 kann anstelle von, 4 statt für usw. verwendet werden, wie: Go2jsp.
3.2 Java -Datei, Tasche
Der Dateiname sollte mit seiner Klasse übereinstimmen, und der erste Buchstabe des Wortes wird aktiviert. Kahl
Der Paketname ist im Allgemeinen nach Projekten oder Modulen benannt und verwendet weniger Abkürzungen und lange Namen. Kahl
Basic -Paket: com.czpost, alle Pakete und Dateien gehören zu diesem Paket.
Der Paketname besteht aus den folgenden Regeln: [Basic Pack].
Die Klasse darf nicht direkt unter dem Basispaket definiert werden.
3.3 Kategorie und Schnittstellennamenspezifikationen Alle Wörter aller Wörter. Verwenden Sie Wörter, die genau gleich sein können, Schnittstellenbedeutung, Funktion usw. Verwendet im Allgemeinen Substantive. Kahl
Die Schnittstelle kann ich Präfix oder fähig, ible, e und ein anderes Suffix bringen.
3.4 Methode Benennungsspezifikationsmethode Die Benennung der Methode des Benennungsstandards sollte eine vollständige englische Deskriptoren verwenden, gemischte Verwendung eines Kleinbuchstabens: die ersten Buchstaben aller Zwischenwörter. Das erste Wort der Methode der Methode verwendet häufig ein Verb mit einer starken Aktionsfarbe. Der Wert des Wertes verwendet das GET -Präfix, die Wertklasse verwendet das festgelegte Präfix und die Verwendungsklasse für Urteilsklasse ist (hat) Präfix. Beispiel: GetName () setSarry () iSLogon () -Methodeparametersequenz: (vom Bediener, Betriebsinhalt, Betriebslogo, andere) Beispiel: public void ersetzen (String Sourcestern, String Oldstr, String Newstre) {...... ...}
3.5 Die Konstante verwendet ein vollständiges englischgeschriebenes Wort und verbindet sich mit der Linie zwischen Wörtern und Wörtern, wie z. B.: default_value
3.6 Variablen und Parametervariablen werden empfohlen, um die ungarische Benennungsmethode anzuwenden.
Plattformvariable (einschließlich int, kurz, lang): Beginnen Sie mit n, zum Beispiel: langer ncrednum;
Floating -point -Variablen (einschließlich Float, Double): Beginnen Sie mit F, zum Beispiel: Double FtranAMT;
Charaktervariable: Beginnen Sie mit C, zum Beispiel: CHR CPAGEFLAG;
Datumsvariable: Beginnen Sie mit D, zum Beispiel: Datum DTODAY;
String -Variablen: Beginnen Sie mit s, zum Beispiel: char spageno [2+1];
Globale Variablen: Die Art der Daten mit G, zum Beispiel: ChsBankno [10+1];
Statische Variablen: Statische Variablen sind auch globale Variablen in Dateien, und die Namensregeln entsprechen globalen Variablen. Kahl
System -Level -Variablen: System -Level -Variablen sind ebenfalls globale Variablen.
Zum Beispiel: char _sBankno [10+1] Es gibt kein 'g'.
Temporäre Variablen werden normalerweise i, j, k, m und n genannt und sie werden im Allgemeinen für Ganzzahl verwendet.
3.7 Komponenten/Komponenten müssen eine vollständige englische Deskriptor -Namenskomponente (Schnittstellenkomponente) annehmen, gefolgt von ungarischen Namensregeln wie: BTNOK, LBLNAME. T -Taste Variable Btn+xxxxxxxx, zum Beispiel: Btnsave, Btn Exit, Btnprint usw. Auswahl CHC -Dialog DLG EVT FRM Menü Panel PNL TextArea TXA Textfield TXF
3.8 Eine Sammlung wie Array und Vektor muss nach mehreren Zahlen benannt werden, um die Art des Objekts darzustellen, das in der Warteschlange gespeichert ist. Die Benennung sollte einen vollständigen englischen Deskriptor verwenden. Wie: vector vProduts = new vector ();
3.9 Mysteriöse Zahlenprogramme verwenden oft einige Mengen. Beachten Sie, dass die Benennung dieser Konstante die Signifikanz der Zahl ausdrücken sollte und dass es sich um alle Großbuchstaben handelt, die von der Kennung unterschieden wird, die der Variablen entspricht. Beispielsweise kann die Nummer 50 als konstantes Ersatz namens num_of_traPyes definiert werden.
3.10 Doppel sollten verwendet werden, wenn andere Benennung angibt, dass sie mehrere Werte darstellen. Wie: OrderItems.
3.11 Java Abnormale abnormale Kategorie besteht aus den Wörtern, die den abnormalen Typ und die Ausnahme darstellen, wie z. B. ActionXception.
Abnormale Instanzen verwenden im Allgemeinen E, Ex usw. In mehreren Anomalien verwenden Sie diesen abnormalen Namen oder die Abkürzung, um E, Ex usw. hinzuzufügen.
3.12 Array -Namens -Arrays sollten immer auf folgende Weise benannt werden: Byte [] Puffer;
3.13 Die Namensregeln der Datenbanktabelle sind durch die unteren Zeilen zwischen dem Präfix und dem Namenswort getrennt.字 Nennen Sie es besteht aus einem Kleinbuchstaben. Kahl
Wenn das Benennungswort aus einem einzigen Wort besteht, kann es für die volle Schreibweise verwendet werden. Verwenden Sie zwischen Abkürzungen die untere Linie. Zum Beispiel: 库 例 例: Beginnen Sie mit 'T_' Ansicht: Beginnen Sie mit 'v_' 例 例 例: begonnen mit 't_' und dem einzigen Index der Bibliothek Tabelle am Ende von '_idx': 'Ende
3.14 Datenbankfeld -Benennungsregeln
Wenn das Benennungswort aus einem einzigen Wort besteht, kann es für die volle Schreibweise verwendet werden. Verwenden Sie zwischen Abkürzungen die untere Linie.字 Nennen Sie es besteht aus einem Kleinbuchstaben. Es gibt kein Präfix.
3.15 JSP -Datei Benennung verwendet eine vollständige englische Beschreibung, um die von JSP ausgefüllte Funktion anzugeben, einschließlich eines lebhaften Verbs, der ersten Buchstaben, wie z.
3.16 Der Name der Servlet -Klasse entspricht im Allgemeinen den Objekten, die mit dem Suffix -Service bedient wurden, wie z. B. Userservice, Tradeservice usw.
4. Schreiben erfordert streng das Schreibformat, um das Programm ordentlich, leicht zu lesen zu machen. Es wird empfohlen, dass das Quellprogramm das Eclipse -Tool entwickelt und die Formatspezifikationen im Tool vorgeführt werden.
4.1 Innsy- und Eindrückungsvorschläge basieren auf 4 leeren Gittern. Vorbereitungsanweisungen, globale Daten, Titel, zusätzliche Beschreibung, Funktionsbeschreibung, Etikett usw. werden alle geschrieben. Die "{" und "}" des Satzblocks sind mit der vorherigen Zeile ausgerichtet und ausgerichtet. Die Standardmethode in sclipse ist der Anfang "{" ist keine separate Zeile, und es wird empfohlen, das obige Format zu ändern.
4.2 Prinzip, Variablen, Klassen, konstante Daten und Funktionen im Raum sind im Prinzip in seinem Typ, der modifizierte Name ist ordnungsgemäß beabstandet und entsprechend der Situation ausgerichtet. Man kann im Prinzip von Schlüsselwörtern verwendet werden, wie z. B.: if (...) und so weiter. Die Platzanforderungen des Bedieners sind wie folgt: "::", "->", ",", "", "++", "-", "~", ""! ","+"- "(Bezieht Betreiber (einschließlich der meisten zwei Puls -Operatoren und -Operatoren und -operatoren sowie "Drei -EYED -Operator" ?: "Ein leeres Netz auf beiden Seiten kann entsprechend der Situation ausgerichtet werden wird implementiert. "Das Netz kann nicht leer oder multi -Raum sein, wenn Sie ausrichten müssen.
4.3 Die engen Ausrichtungslinien sollten im Prinzip ausgerichtet sein, und die Ausrichtung umfasst alle Teile wie Typen, Modifikationen, Namen und Parameter. Die Länge jeder Zeile sollte den Bildschirm bei Bedarf nicht zu sehr überschreiten. Eindrückung der ersten Zeile, dh, wenn die nächste Zeile "{" ist, sollte sie mit der ersten Zeile ausgerichtet werden. Variable Definitionen sind am besten zum Hinzufügen von Leerzeichen oder Registerkarten, und Variablen desselben Typs sind am besten zusammen. Wie im folgenden Beispiel: int nValue;
4.4 In der leeren Linie müssen unregelmäßige leere Linien wie zehn aufeinanderfolgende leere Linien vorhanden sein. Jeder Teil der Programmdateistruktur ist leer. Für die von Ihnen geschriebenen Funktionen wird empfohlen, "// -------" hinzuzufügen, um sich zu trennen. Mindestens eine Zeile sollte zwischen den internen Daten der Funktion und dem Code leer sein. davon. Es gibt mindestens eine Zeile zwischen den vier "P" in der Klasse, und die Daten und Funktionen sollten ebenfalls leer sein.
4.5 Hinweise Anmerkungen sind die spezifische Verkörperung der Lesbarkeit der Software. Programmanmerkungen machen im Allgemeinen 20%der Anzahl der Programmcodierung aus, und die Anforderungen an die Software -Engineering beträgt mindestens 20%. Programmanmerkungen können in abstrakten Sprachen wie "Verarbeitung" und "Zyklus" in abstrakter Sprache nicht verwendet werden. Vermeiden Sie Kommentare aus jeder Reihe von Verfahren. Sie können vor einem Programm einen Kommentar mit klaren Verarbeitungslogik hinzufügen. Kommentare sind wesentlich, aber zu viel zu viel sein. Im Folgenden sind vier notwendige Hinweise erforderlich: Titel und zusätzliche Beschreibung.的 Erläuterung von Funktionen, Klassen usw. Es sollte für fast jede Funktion geeignete Erklärungen geben. Bei Bedarf müssen einige Anweisungen wie spezielle Software- und Hardwareanforderungen vorliegen. Die Erklärung der öffentlichen Funktionen und der öffentlichen Klassen muss durch die Methode und die Designideen erklärt werden. Kahl
Es muss eine gewisse Erklärung in der unklaren oder nicht -transplantierten Erklärung geben. Kahl
Und eine kleine Menge anderer Notizen, wie z. B. Kommentare benutzerdefinierter Variablen, Code -Schreibzeit usw.
5. Codedateistil Alle Java (*. Java) -Dateien müssen die folgenden Stilregeln befolgen:
Versuchen Sie für die Dateigenerierung für die standardisierte Java -Derivatklasse, das Eclipse -Tool zu verwenden, um das Dateiformat zu generieren, um Hand -hergestellte Header -Dateien/Implementierungsdateien zu vermeiden. Die Paket-/Importpaket -Linie muss vor der Importlinie liegen. Der Standardpaketname im Import ist vor dem lokalen Paketnamen und in der Reihenfolge der Buchstaben angeordnet. Wenn die Import -Zeile im selben Paket unterschiedliche Sub -Verzeichnisse enthält, sollte sie mit*verarbeitet werden.
Paket hotlava.net.stats; Kahl
Die Kopfannotation der Datei -Annotationsdatei zeigt hauptsächlich einige Informationen der Datei, die die Gesamtbeschreibung des Programms darstellt, die die Lesbarkeit und Wartung des Programms verbessern kann. Die Annotation der Dateikopf befindet sich im Allgemeinen hinter der Anweisung Paket/Import und der Klassenbeschreibung. Es ist erforderlich, mindestens Dateinamen, Ersteller, Erstellungszeit und Inhaltsbeschreibungen zu schreiben. Das Format sollte so weit wie möglich eingeschränkt werden: /*** Titel: OK, um die Mausspositionsklasse zu bestimmen Hit * @Authoror: Riverhan * @Version: 1.0 */ Klasse Die nächsten sind Klassenkommentare, die im Allgemeinen zur Erklärung der Klasse verwendet werden. / ** * Eine Klasse, die eine Reihe von Paket- und Byte -Zähl -Technus repressentiert. Es ist beobachtet, dass es Watchet sein kann, aber nur * meldet sich ändert, wenn der aktuelle Satz abgeschlossen ist. Erweitert und implementiert die öffentliche Klassen. Die Gegenstände erweitert beobachtbare Geräte klonbar Klassenfelder
Als nächstes ist eine Mitgliedsvariable: / ** * Paketzahl * / geschützt int [] Pakete; Wenn die von Procity, Private und Package definierten Mitgliedsvariablen klar sind, gibt es keinen Kommentar.是 Die Zugriffsmethode ist der Weg, um auf die Variable zuzugreifen. Es geht nur darum, einfach die Variablen der Klasse zu verwenden, um den Wert zu erhalten, der einfach in der Zeile geschrieben werden kann. (Persönlich denken, dass versuchen, so viel wie möglich zu schreiben)
/** * Holen Sie sich die Zähler * @return ein Array, das die Statistikdaten enthält.
Public int [] getPackets () {return CopyArray (Pakete, Offset);} public int [] getBytes () {return CopyArray (Bytes, Office)] getPackets () {Rückgabepakete;} öffentliche Void -Setpackets (int [] Pakete) {This.packets = pakete;}
Andere Methoden sollten nicht auf eine Zeile von Konstruktoren geschrieben werden. Zugangstypen ("öffentlich", "privat" usw. und jeder "statische", "endgültige" oder "synchronisierte" sollte in einer Zeile sein, und die Methoden und Parameter können einzeln geschrieben werden. Dies kann Methoden und Methoden erstellen und erstellen und Parameter leichter zu lesen.
öffentliche Zähler (int Größe) {
this.size = Größe;
}
Wenn die Klonmethode kloniert werden kann, ist der nächste Schritt die Klonmethode: öffentliches Objekt Clone () {)
versuchen {
Count object obj = (Country) Super.Clone ();
} Catch (clonenotsuptedEdException e) {{{{{{{{{{{{{{{{{{
Neues Internet werfen ("unerwartete ClonenotsupportException:" + e.getMessage ());
}
}
Die Klassenmethode begann eine Klassenmethode zu schreiben:
/ ** * Setzen Sie die Paketzahl * GalargumentExcetion {
// Stellen Sie sicher, dass die Arrays gleich groß sind // if (r1.length! Newsgröße "; System.ArrayCopy (R1, 0, R3, 0, R1.Length); System.ArrayCopy (R2, 0, R4, R4, R1.Length); Eine Klasse sollte die Tastring -Methode definieren:
public String toString () {String retval = "Country:" für (int i = 0; i <data.length (); ();} RetVal retVal;}
Wenn die Hauptmethode definiert ist, sollte sie am Ende der Klasse geschrieben werden.