convention de dénomination
1. [Obligatoire] Les noms dans le code ne peuvent pas commencer par signe de soulignement ou signe dollar, ni se terminer par signe de soulignement ou signe dollar.
Contre-exemple : _name / __name / $Object / name_ / name$ / Object$
2 [Obligatoire] Il est strictement interdit d'utiliser un mélange de pinyin et d'anglais pour nommer dans le code, et cela. n'est pas autorisé à utiliser le chinois directement.
Instructions : Une orthographe et une grammaire anglaises correctes peuvent permettre aux lecteurs de comprendre facilement et d'éviter toute ambiguïté. Notez que même la méthode de dénomination pure en pinyin doit être évitée.
Contre-exemple : DaZhePromotion [Remise] / getPingfenByName() [Rating] / int Une variable = 3
Exemple positif : alibaba / taobao / youku / hangzhou et d'autres noms internationaux, qui peuvent être considérés comme la même chose que l'anglais.
3. [Obligatoire] Les noms de classe doivent utiliser le style UpperCamelCase et doivent suivre la casse camel, avec les exceptions suivantes : (dénomination associée du modèle de domaine) DO / BO / DTO / VO, etc.
Exemple positif : MarcoPolo / UserDO / variables membres, variables locales Elles utilisent toutes le style lowerCamelCase de manière uniforme et doivent suivre le format camel case.
Exemple positif :
localValue / getHttpMessage() / inputUserId5. [Obligatoire] Les noms de constantes doivent être en majuscules et les mots doivent être séparés par des traits de soulignement. Ne soyez pas insatisfait des noms longs.
Exemple positif : MAX _ STOCK _ COUNT
Contre-exemple :
MAX _ COUNT6 [Obligatoire] Le nom de la classe abstraite commence par Abstract ou Base ; le nom de la classe d'exception se termine par Exception la classe de test ; porte son nom. Commence par le nom de la classe à tester et se termine par Test.
7. [Obligatoire] Les crochets font partie du type de tableau. Le tableau est défini comme suit : String[]
args;Contre-exemple :
Ne pas utiliser String args[] pour définir.8. [Obligatoire] N'ajoutez pas de variables de type booléen dans la classe POJO, sinon certaines analyses du framework provoqueront des erreurs de sérialisation.
Exemple de compteur : est défini comme un attribut du type de données de base booléen isSuccess ; et sa méthode est également isSuccess(). Lorsque le framework RPC analyse à l'envers, le nom de l'attribut correspondant à "for" est success, ce qui donne le résultat. l'attribut n'est pas obtenu. Ensuite, lancez l'exception
normal.
9. [Obligatoire] Les noms de packages doivent utiliser des lettres minuscules et il doit y avoir un et un seul mot anglais avec une sémantique naturelle entre les séparateurs de points. Les noms de packages utilisent toujours la forme singulière, mais si le nom de classe a une signification plurielle, le nom de classe peut utiliser la forme plurielle.
Exemple positif : Le package de classe d'outil d'application est nommé com . des abréviations complètement irrégulières, pour ne pas manquer le sens du texte. Contre-exemple :
L'"abréviation" de AbstractClass s'appelle AbsClass ; l'"abréviation" de condition s'appelle condi. Une telleabréviation arbitraire réduit sérieusement la lisibilité du code.
11. [Recommandation] Si des modèles de conception sont utilisés, il est recommandé de refléter les modèles spécifiques dans le nom de la classe. Explication :
Refléter le modèle de conception dans le nom aidera les lecteurs à comprendre rapidement les idées de conception architecturale.Exemple positif : public class OrderFactory;
public class LoginProxy;public class ResourceObserver;
12 [Recommandation] N'ajoutez aucun modificateur aux méthodes et propriétés dans la classe d'interface (n'ajoutez pas non plus public. ), keep Le code est concis et couplé à des commentaires Javadoc efficaces. Essayez de ne pas définir de variables dans l'interface. Si vous devez définir des variables, elles doivent être liées aux méthodes d'interface et constituent des constantes de base pour l'ensemble de l'application. Exemple positif :Signature de méthode d'interface : void f();Représentation constante de base de l'interface : String COMPANY = " alibaba " ;
Contre-exemple :Définition de méthode d'interface : public abstract void f() ;
Explication : Les interfaces du JDK 8 autorisent les implémentations par défaut, cette méthode par défaut est donc une implémentation par défaut précieuse pour toutes les classes d'implémentation. 13. Il existe deux ensembles de règles pour nommer les interfaces et les classes d'implémentation :
Exemple positif : CacheServiceImpl implémente l'interface CacheService.
2) [Recommandation] S'il s'agit d'un nom d'interface qui décrit des capacités, utilisez l'adjectif correspondant comme nom d'interface (généralement sous la forme de – able).
Exemple positif : AbstractTranslator implémente Translatable.
14. [Référence] Il est recommandé d'ajouter le suffixe Enum au nom de la classe d'énumération. Les noms des membres de l'énumération doivent être en majuscules et les mots doivent être séparés par des traits de soulignement.
Explication : Enumeration est en fait une classe constante spéciale, et le constructeur est obligé d'être privé par défaut.
Exemple positif : Nom de l'énumération : DealStatusEnum, nom du membre : SUCCESS / UNKOWN _REASON.
15. [Référence] Convention de dénomination de chaque couche :
A) Convention de dénomination des méthodes de couche Service / DAO
1) Les méthodes permettant d'obtenir un seul objet sont préfixées par get.
2) Les méthodes pour obtenir plusieurs objets sont préfixées par list.
3) La méthode d'obtention des valeurs statistiques est préfixée par count.
4) La méthode d'insertion est préfixée par save (recommandé) ou insert.
5) La méthode de suppression est préfixée par supprimer (recommandé) ou supprimer.
6) La méthode de modification est préfixée par update.
B) Convention de dénomination du modèle de domaine
1) Objet de données : xxxDO, xxx est le nom de la table de données.
2) Objet de transfert de données : xxxDTO, xxx est le nom lié au domaine d'activité.
3) Objet d'affichage : xxxVO, xxx est généralement le nom de la page web.
4) POJO est le nom collectif de DO/DTO/BO/VO, et il est interdit de le nommer comme xxxPOJO.