下面是我整理的Java編碼規範,寫程式碼時一定要按照編碼規範來寫,這樣就有方便日常維護。
命名規範
#類別命名規範
#類別中的每個單字的首字母都需要大寫,如UserService,錯誤的命名方式userService、userservice
測試案例以Test結尾,如UserServiceTest
如果以術語縮寫開頭,術語縮寫應全部大寫,如HTMLEditor 錯誤的寫法··
類別名稱應使用英文字母或數字,不應出現特殊字元
#介面不以I開頭
#方法命名規範
第一個單字的首字母小寫,其他單字首字母大寫
從方法名稱上應該能看出方法的作用
編碼規格
#程式碼縮排
程式碼縮排為一個tab(4個空格的長度)。 Eclipse預設為4個空格的長度。
作用域
類別中的屬性應設為私有,並透過提供get和set方法實作外部類別對私有屬性的修改。
如果類別中的方法僅供類別內部使用應設定為private;如果可以供子類別使用應設定為protected;如果是公共方法則應設定為public。
註解規格
#版權資訊註解
版權資訊註釋在文件的開頭,用於聲明程式碼的版權。使用/**/這樣的註解方式。
/* * Copyright © 2015 TIAMAES Inc. All rights reserved. */ package com.tiamaes.gjds.das.controller;
註解模版如下,Window->Preferences->Java->Code Style->Comments->Files
/* * Copyright © ${year} TIAMAES Inc. All rights reserved. */
Copyright © 2015 TIAMAES Inc. All rights reserved.說明如下
版權2015 天邁科技股份呢有限公司保留所有權利。
- Inc. 依據公司法組成的股份有限公司
- Co. Ltd 有限責任公司
類別註解規格
##類別註解資訊中應包含,類的描述訊息,作者資訊及版本資訊。/** * 类描述 * @author 王成委 * @since 1.0 * @see xxx */ public class TypeName註解模版如下,Window->Preferences->Java->Code Style->Comments->Types
/** * ${todo} * @author 王成委 * @since 1.0 */
类描述:描述类的功能,单行直接写,如果多行需要使用e388a4556c0f65e1904146cc1a846bee94b3e26ee717c64999d7867364b1b4a3
@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 */
方法注释
使用下面的模版
/** * ${todo} * ${tags} */
${tags}:自动生成参数、异常、返回值等注解
/** * TODO * @param request * @throws IOException */ @RequestMapping("/ctx")public void test(HttpServletRequest request) throws IOException
如果类中的方法实现了抽象方法或重写了父类的方法,应在方法上加上@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;
在实现的方法上使用/**...*/可以覆盖父类方法的注释。
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"); }
属性和变量及方法内代码的注释
使用//来对变量和属性注释,方法内的代码也使用//注释
如非必要变量和属性可以不加注释,如果代码内有负责逻辑应使用//注释加以说明
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; }
以上是我所整理的一部分JAVA编码规范,希望今后大家做开发时能够严格按照编码规则来开发,这样有便于日常维护。
以上是Java編碼規格(常用重點)的詳細內容。更多資訊請關注PHP中文網其他相關文章!