Maison > Java > javaDidacticiel > le corps du texte

Normes de codage Java (points clés couramment utilisés)

亚连
Libérer: 2018-05-10 10:15:56
original
1937 Les gens l'ont consulté

Ce qui suit est la spécification de codage Java que j'ai compilée. Lors de l'écriture du code, vous devez suivre la spécification de codage pour faciliter la maintenance quotidienne.

Convention de dénomination

Convention de dénomination des classes

La première lettre de chaque mot de la classe doit être en majuscule, par exemple UserService. Mauvaise méthode de dénomination userService, userservice

Le scénario de test se termine par Test, par exemple UserServiceTest

If. il est abrégé par le terme Au début, les abréviations des termes doivent toutes être en majuscules, comme HTMLEditor. Mauvaise écriture...

Les noms de classe doivent utiliser des lettres ou des chiffres anglais, et aucun caractère spécial ne doit apparaître

.

Les interfaces ne commencent pas par I

Convention de dénomination des méthodes

La première lettre du premier mot est minuscule et la première lettre d'autres mots est en majuscule

Vous devriez pouvoir le voir à partir du nom de la méthode La fonction de la méthode

Normes de codage

Indentation du code

L'indentation du code est un onglet (longueur de 4 espaces). Eclipse a par défaut une longueur de 4 espaces.

Portée

Les attributs de la classe doivent être définis sur privé, et les classes externes peuvent modifier les attributs privés en fournissant des méthodes get et set.

Si la méthode de la classe est uniquement destinée à un usage interne de la classe, elle doit être définie sur private ; si elle peut être utilisée par les sous-classes, elle doit être définie sur protected s'il s'agit d'une méthode publique ; il devrait être rendu public.

Spécifications d'annotation

Annotation des informations de droit d'auteur

Annotation des informations de droit d'auteur En début de fichier, permet de déclarer le copyright du code. Utilisez des commentaires comme /**/.

/* 
 * Copyright ©  2015 TIAMAES Inc. All rights reserved.
 */
package com.tiamaes.gjds.das.controller;
Copier après la connexion

Le modèle de commentaire est le suivant, Fenêtre->Préférences->Java->Style de code->Commentaires->Fichiers

/*
* Copyright ©  ${year} TIAMAES Inc. All rights reserved.
*/
Copier après la connexion

Copyright © 2015 TIAMAES Inc. Tous droits réservés. La description est la suivante
Copyright 2015 Tianmai Technology Co., Ltd. Tous droits réservés.
- Inc. Une société par actions à responsabilité limitée constituée conformément au droit des sociétés
- Co. Ltd Société à responsabilité limitée

Spécifications d'annotation de classe

Le Les informations d'annotation de classe doivent être Contient des informations de description de classe, des informations sur l'auteur et des informations sur la version.

/**  
 * 类描述
 * @author 王成委
 * @since 1.0
 * @see xxx
 */
public class TypeName
Copier après la connexion

Le modèle de commentaire est le suivant, Fenêtre->Préférences->Java->Style de code->Commentaires->Types

/**  
 * ${todo}
 * @author 王成委
 * @since 1.0
 */
Copier après la connexion

类描述:描述类的功能,单行直接写,如果多行需要使用

@author:多个作者使用多个@author

@since:说明此类是从那个版本开始

@see:与类相关的其他类或方法
可参考org.springframework.stereotype.Controller的类注释信息。

/**
 * Indicates that an annotated class is a "Controller" (e.g. a web controller).
 *
 * <p>This annotation serves as a specialization of {@link Component @Component},
 * allowing for implementation classes to be autodetected through classpath scanning.
 * It is typically used in combination with annotated handler methods based on the
 * {@link org.springframework.web.bind.annotation.RequestMapping} annotation.
 *
 * @author Arjen Poutsma
 * @author Juergen Hoeller
 * @since 2.5
 * @see Component
 * @see org.springframework.web.bind.annotation.RequestMapping
 * @see org.springframework.context.annotation.ClassPathBeanDefinitionScanner
 */
Copier après la connexion

方法注释

使用下面的模版

/**
 * ${todo}
 * ${tags}
 */
Copier après la connexion

${tags}:自动生成参数、异常、返回值等注解

/**
 * TODO
 * @param request
 * @throws IOException
 */
@RequestMapping("/ctx")public void test(HttpServletRequest request) throws IOException
Copier après la connexion

如果类中的方法实现了抽象方法或重写了父类的方法,应在方法上加上@Override注解。如果要覆盖父类方法的注释可以使用/** */注释来覆盖父类的注释。

org.springframework.core.io.Resource
/**
 * Return a File handle for this resource.
 * @throws IOException if the resource cannot be resolved as absolute
 * file path, i.e. if the resource is not available in a file system
 */
File getFile() throws IOException;
Copier après la connexion

在实现的方法上使用/**...*/可以覆盖父类方法的注释。

org.springframework.core.io.AbstractResource
/**
 * This implementation throws a FileNotFoundException, assuming
 * that the resource cannot be resolved to an absolute file path.
 */
@Overridepublic File getFile() throws IOException {    
throw new FileNotFoundException(getDescription() + " cannot be resolved to absolute file path");
}
Copier après la connexion

属性和变量及方法内代码的注释

使用//来对变量和属性注释,方法内的代码也使用//注释

如非必要变量和属性可以不加注释,如果代码内有负责逻辑应使用//注释加以说明

public ServletContextResource(ServletContext servletContext, String path) {    // check ServletContext
    Assert.notNull(servletContext, "Cannot resolve ServletContextResource without ServletContext");    this.servletContext = servletContext;    // check path
    Assert.notNull(path, "Path is required");
    String pathToUse = StringUtils.cleanPath(path);    
    if (!pathToUse.startsWith("/")) 
    {
      pathToUse = "/" + pathToUse;
    }    
    this.path = pathToUse;
}
Copier après la connexion

以上是我所整理的一部分JAVA编码规范,希望今后大家做开发时能够严格按照编码规则来开发,这样有便于日常维护。


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal