En tant que développeur, il doit y avoir des spécifications de code strictes. Pour cette raison, j'ai résumé certains cas de spécification de code.
Table des matières
1. Avant-propos
2. Plage d'essais
3. Spécification de dénomination Java-
3.1 Accord public
3.2 Fichiers Java, sacs, sacs
3.3 Classe, spécifications de dénomination de l'interface
3.4 Spécification de dénomination de la méthode
3.5 constante
3.6 Variables et paramètres
3.7 Composant / Composant
3.8
3.9 Nombre mystérieux
3.10 Autres
3.11 Exception Java
3.12 dénomination du tableau
3.13 Règles de dénomination de la table de base de données
3.14 Règles de dénomination des champs de base de données
3.15 Nom du fichier JSP
3.16 Nom du servlet
4. Spécification du format d'écriture
4.1 EDIX
4.2 Espace
4.3 Alignement
4.4 ligne vide
4.5 Remarque
5. Style de fichier de code
1. Avant-propos pour garantir la lisibilité du programme de source du système, améliorant ainsi la maintenance du système du système et formulez les spécifications de programmation suivantes pour réguler la programmation du système. Les programmes source dans d'autres ressources hérités par le système doivent également être modifiés en conséquence en fonction de cette spécification.
2. La portée de l'essai de ce document sera utilisée comme format de programmation pour le développement du logiciel du système d'application postal Hebei (langue Java). Pendant le processus de codage, de test et de maintenance du système, il doit être strictement observé.
3. Spécification de dénomination Java
3.1 Nommer le nom du fichier source, la méthode, le répertoire, le package, le nom de la table de base de données, le champ de base de données, etc. Au nom du nom du fichier source, de la méthode, du répertoire, du package, du nom de la table de base de données, du nom de la table de base de données, du champ de base de données. Sombre
La dénomination utilisée par le système est exprimée en abréviations anglaises. Sombre
La méthode de dénomination est: Prefix + {Naming Word Abréviation}, Prefix exprime l'utilisation de la dénomination, telles que les tables de base de données. Sombre
Le préfixe de dénomination est déterminé par l'équipe de projet. Sombre
D'autres objets à l'exception des objets de maintenance publique du système, tous les noms utilisent une minuscule. Une façon utilise "_" comme symbole de connexion, et l'autre est de connecter directement les premières lettres du mot Prime. Dans cette spécification, le nom de la base de données et le nom du champ de base de données adoptent la première voie, et le reste est de la deuxième voie. Sombre
L'utilisation peut illustrer avec précision le descripteur anglais complet de la variable / champ / classe / interface / sac. Par exemple, en utilisant des noms comme FirstName, ListAlUsers ou CorporateCustomer, il est strictement interdit d'utiliser des mots chinois et non liés. , méthodes, variables, champs, etc. Nommé
Utilisation d'un mélange en minuscules pour améliorer la lisibilité du nom. Généralement, des lettres minuscules doivent être utilisées, mais les premières lettres des noms et des noms d'interface, et la première lettre de tout mot intermédiaire doit être majuscule. Tous les noms de packages. Sombre
Essayez d'utiliser comme de petites abréviations, mais si vous devez l'utiliser, lorsque vous utilisez des abréviations publiques et des abréviations habituelles, comme la mise en œuvre peut être abrégée en IMP, les gestionnaires (gestionnaires) peuvent être abrégés en tant que MGR, etc. Pour plus de détails, veuillez vous référer à abus d'abus. (Évitez d'utiliser des noms longs (de préférence pas plus de 25 lettres).
Évitez d'utiliser des nombres, mais 2 peut être utilisé plutôt que de, 4 plutôt que pour, etc., comme: go2jsp.
3.2 Fichier Java, sac
Le nom du fichier doit être le même que sa classe et la première lettre du mot est capitalisée. Sombre
Le nom du package est généralement nommé d'après des projets ou des modules et utilise moins d'abréviations et de noms longs. Sombre
Package de base: com.czpost, tous les packages et fichiers appartiennent à ce package.
Le nom du package est composé des règles suivantes: [Pack de base].
La classe ne doit pas être définie directement sous le package de base.
3.3 Spécifications de dénomination de la catégorie et de l'interface Tous les mots de tous les mots. Utilisez des mots qui peuvent être exactement les mêmes, signification d'interface, fonction, etc. Utilise généralement des noms. Sombre
L'interface peut apporter i préfixe ou capable, ible, e et autres suffixes.
3.4 Méthode Méthode Spécification de dénomination La dénomination de la méthode de la norme de dénomination doit utiliser des descripteurs anglais complets, l'utilisation mixte d'une minuscule: les premières lettres de tous les mots intermédiaires. Le premier mot de la méthode de la méthode utilise souvent un verbe avec une couleur d'action forte. La valeur de la valeur utilise le préfixe Get, la classe de valeur utilise le préfixe SET et le préfixe de la classe de jugement est (HA) le préfixe. Exemple: getName () setSarry () isLogon () Méthode Séquence des paramètres: (par l'opérateur, contenu opérationnel, logo de fonctionnement, autres) Exemple: public void Remplace (String Sourcestr, String OldStr, String Newstr) {...... ...}
3.5 La constante utilise un mot majuscule en anglais complet et se connecte à la ligne entre les mots et les mots, tels que: default_value
3.6 Les variables et les variables de paramètres sont recommandées pour utiliser la méthode de dénomination hongroise.
Variable de la plate-forme (y compris int, court, long): commencez par n, par exemple: Long ncredNum;
Variables à point flottantes (y compris Float, Double): Commencez par F, par exemple: Double Ftranamt;
Variable de caractère: commencez par C, par exemple: char cpageflag;
Variable de date: commencez par D, par exemple: Date Dtoday;
Variables de chaîne: Commencez par S, par exemple: Char Spageno [2 + 1];
Variables globales: type de données avec g, par exemple: chsbankno [10 + 1];
Variables statiques: les variables statiques sont également des variables globales dans les fichiers, et les règles de dénomination sont les mêmes que les variables globales. Sombre
Variables au niveau du système: Les variables au niveau du système sont également des variables globales.
Par exemple: char _sbankno [10 + 1] il n'y a pas de «g».
Les variables temporaires sont généralement nommées i, j, k, m et n, et elles sont généralement utilisées pour les entiers; C, D, E, ils sont généralement utilisés pour les types de caractères.
3.7 Les composants / composants doivent adopter un composant de dénomination complet du descripteur anglais (composant d'interface), suivi de règles de dénomination hongroises telles que: btnok, lblname. Variable du bouton t btn + xxxxxxx, par exemple: btnsave, exit btn, btnprint, etc.
3.8 Une collection, telle que le tableau et le vecteur, doit être nommée par plusieurs nombres pour représenter le type d'objet stocké dans la file d'attente. La dénomination doit utiliser un descripteur anglais complet. Tels que: vector vproduts = new vector ();
3.9 Les programmes de nombres mystérieux utilisent souvent certaines quantités. Notez que la dénomination de cette constante devrait exprimer la signification du nombre, et elle doit être toutes les majuscules, qui se distinguent de l'identifiant correspondant à la variable. Par exemple, le numéro 50 peut être défini comme un remplacement constant appelé num_of_employes.
3.10 Doubles doit être utilisé lorsque d'autres dénomination indiquent qu'elles représentent plusieurs valeurs. Tels que: orderItems.
3.11 Java Catégorie anormale anormale se compose des mots qui représentent le type et l'exception anormaux, tels que Actionxception.
Des instances anormales utilisent généralement E, Ex, etc. Dans plusieurs anomalies, utilisez ce nom ou abréviation anormal pour ajouter E, ex, etc.
3.12 Les tableaux de dénomination du tableau doivent toujours être nommés de la manière suivante: byte [] tampon;
3.13 Les règles de dénomination de la table de base de données sont séparées par les lignes inférieures entre le préfixe et le mot de dénomination.字 Nom qu'il se compose d'une lettre minuscule. Sombre
Si le mot de dénomination est composé d'un seul mot, il peut être utilisé pour l'orthographe complète; Entre les abréviations, utilisez la ligne inférieure. Par exemple: 库 例 例 例 例 例 例: Commencez par 'T_' Voir: Commencez par 'V_' ' 例 例 例 例: a commencé par' T_ ', et le seul indice de la bibliothèque Bibliothèque table à la fin de '_idx': 'fin
3.14 Règles de dénomination des champs de base de données
Si le mot de dénomination est composé d'un seul mot, il peut être utilisé pour l'orthographe complète; Entre les abréviations, utilisez la ligne inférieure.字 Nom qu'il se compose d'une lettre minuscule. Il n'y a pas de préfixe.
3.15 Le nom de fichier JSP utilise une description d'anglais complète pour indiquer la fonction remplie par JSP, y compris un verbe vif, les premières lettres, telles que: ViewMessage.jsp, edituser.jsp ou forumchooser.jsp, etc.
3.16 Le nom de la classe de servlet correspond généralement aux objets desservis avec le service de suffixe, tels que: service d'utilisateur, service commercial, etc.
4. Le format d'écriture nécessite strictement le format d'écriture pour rendre le programme soigné, facile à lire et à un style unifié. Il est recommandé que le programme source développe l'outil Eclipse et les spécifications de format sont pré-ensemble dans l'outil.
4.1 Les suggestions d'innosse et d'indentation sont basées sur 4 grilles vides. Les déclarations de pré-procédure, les données globales, le titre, la description supplémentaire, la description de la fonction, l'étiquette, etc. sont toutes écrites. Les "{" et "}" du bloc de phrase sont alignés et alignés sur la ligne précédente. La méthode par défaut de Sclipse est le début "{" n'est pas une ligne distincte, et il est recommandé de passer au format ci-dessus.
4.2 En principe, les variables, les classes, les données constantes et les fonctions dans l'espace en principe sont en son type, le nom modifié est correctement espacé et aligné selon la situation. On peut être utilisé dans le principe des mots clés, tels que: if (...) et ainsi de suite. Les exigences d'espace de l'opérateur sont les suivantes: "::", "->", "[", "" "," ++ "," - "," ~ "," "!", "+" - "(Fait référence au nombre positif)", & "(cité) et d'autres opérateurs tels que les deux côtés du calculatoire non sans espaces (dont le système de symbole informatique à un seul EEY fait référence au côté connecté de l'opération), d'autres Les opérateurs (y compris la plupart des opérateurs et opérateurs et opérateurs de deux étapes et "opérateur à trois yeux" ?: "Une grille vide des deux côtés peut être alignée en fonction de la situation où la fonction est définie, mais elle peut être utilisée lorsque la fonction est implémenté. "La grille ne peut pas être vide ou multi-espace lorsque vous devez vous aligner.
4.3 Les lignes d'alignement proches doivent être alignées en principe et l'alignement comprend toutes les parties telles que les types, les modifications, les noms et les paramètres. La longueur de chaque ligne ne doit pas trop dépasser l'écran. Indentation de la première ligne, c'est-à-dire que si sa ligne suivante est "{", elle devrait être alignée sur la première ligne. Les définitions de variables sont les meilleures pour s'aligner sur l'ajout d'espaces ou de touches d'onglet, et les variables du même type sont meilleures ensemble. Comme indiqué dans l'exemple suivant: int nvalue;
4.4 Il doit y avoir des lignes vides irrégulières dans la ligne vide, comme dix lignes vides consécutives. Chaque partie de la structure du fichier du programme est vide. Pour les fonctions que vous écrivez, il est recommandé d'ajouter "// ------" pour se séparer. Au moins une ligne doit être vide entre les données internes de la fonction et le code. de celui-ci. Il y a au moins une ligne entre les quatre "P" dans la classe, et les données et fonctions devraient également être vides.
4.5 Notes Les notes sont le mode de réalisation spécifique de la lisibilité des logiciels. Les annotations du programme représentent généralement 20% du nombre de codage du programme, et les exigences en génie logiciel ne sont pas inférieures à 20%. Les annotations de programme ne peuvent pas être utilisées dans des langues abstraites telles que le «traitement» et le «cycle» dans la langue abstraite. Évitez les commentaires de chaque ligne de procédures, vous pouvez ajouter un commentaire devant un programme, avec une logique de traitement claire. Les commentaires sont essentiels, mais trop devrait être trop. Voici quatre notes nécessaires: Titre et description supplémentaire.的 Explication des fonctions, des classes, etc. Il devrait y avoir des explications appropriées pour presque toutes les fonctions. , si nécessaire, il doit y avoir des instructions telles que des exigences spéciales de logiciels et de matériel. L'énoncé des fonctions publiques et des classes publiques doit être expliquée par la méthode et les idées de conception. Sombre
Il doit y avoir une certaine explication dans le peu de transplantation peu claire ou non transplantaire. Sombre
Et une petite quantité d'autres billets, tels que des commentaires de variables personnalisées, du temps d'écriture de code, etc.
5. Style de fichier de code Tous les fichiers Java (*. Java) doivent suivre les règles de style suivantes:
Pour la génération de fichiers, pour la classe dérivée Java standardisée, essayez d'utiliser l'outil Eclipse pour générer le format de fichier pour éviter les fichiers d'en-tête / fichiers d'implémentation. E Package / Importer La ligne du package doit être avant la ligne d'importation, le nom du package standard dans l'importation est avant le nom du package local et organisé dans l'ordre des lettres. Si la ligne d'importation contient différents sous-directory dans le même package, il doit être traité avec *.
Package hotlava.net.stats; Sombre
L'annotation de tête du fichier annotation de chef de fichier affiche principalement certaines informations du fichier, qui est la description globale du programme, ce qui peut améliorer la lisibilité et la maintenance du programme. L'annotation de la tête de fichier est généralement à l'origine de l'instruction Package / Imports et la description de la classe. Il est nécessaire d'écrire au moins des noms de fichiers, des créateurs, du temps de création et des descriptions de contenu. Le format doit être limité autant que possible: / *** Titre: OK pour déterminer la classe de position de la souris * Description: Déterminez quel champ de travail est maintenant et renvoie le numéro de travail * @Copyright: Copyright (C) 2002 * @Company: Hit * @Authoror: Rivershan * @version: 1.0 * / Classe Le suivant est les commentaires de classe, qui sont généralement utilisés pour expliquer la classe. / ** * Une classe répression un ensemble de paquets et de techniques de nombre d'octets * Il est observable pour lui permettre d'être Watchet, mais seuls * les rapports modifient lorsque l'ensemble actuel est terminé e * / Next est une définition de classe, qui contient différentes lignes Étend et implémente le contre-ensemble de classe public étend des outils observables clonables Fields de classe
Ensuite, une variable de membre: / ** * Nombre de paquets * / Paquets INT [] protégés; les variables des membres publics doivent générer des documents (Javadoc). Si les variables membre définies par la procédité, le privé et le package sont claires, il n'y a pas de commentaire.是 La méthode d'accès est le moyen d'accéder à la variable. Il s'agit simplement d'utiliser les variables de la classe pour obtenir la valeur, qui peut être simplement écrite sur la ligne. (Pensez personnellement que essayez d'écrire autant que possible)
/ ** * Obtenez les compteurs * @return un tableau contenant les données statistiques.
Public int [] getPackets () {return copyArray (paquets, offset);} public int [] getBytes () {return copyArray (bytes, office)] getPacket () {return paquets;} public void setPackets (int [] paquets) {This.packets = paquets;}
D'autres méthodes ne doivent pas être écrites sur une ligne de constructeur. Les types d'accès ("public", "privé", etc., et tout "statique", "final" ou "synchronisé" devrait être en une seule ligne, et les méthodes et paramètres peuvent être écrits un par un. Cela peut faire des méthodes et Paramètres plus faciles à lire.
Public contre-ensemble (Taille int) {
this.size = size;
}
Si la méthode du clone peut être clonée, l'étape suivante est la méthode du clone: Clone d'objet public () {)
essayer {
Compter objet obj = (countet) super.clone (); obj.packets = (int []) paquets.clone ();
} Catch (clonenotsupportedException e) {{
Jetez un nouvel Internet ("Clonenotsupportexception inattendu:" + e.getMessage ());
}
}
La méthode de classe a commencé à écrire une méthode de classe:
/ ** * Définissez le nombre de paquets * GalargumentExcetion {
// Assurez-vous que les tableaux sont de taille égale // if (r1.length! = R2.length || r1.length! = R3.length || r1.length! = R4.length) ion ("Les tableaux doivent être du Taille des nouvelles "; System.ArrayCopy (R1, 0, R3, 0, R1.Length); System.ArrayCopy (R2, 0, R4, R4, R1.Length); une classe doit définir la méthode de tostring:
Public String ToString () {String RetVal = "Country:"; ();} Return retval;}
Si la méthode principale est définie, elle doit être écrite au bas de la classe.