关于Java部分代码规范以及IDEA相关配置和插件

一. 命名风格

  1. 包名统一使用小写。

    正例: 
    应用工具类包名为 com.alibaba.open.util、
    类名为 MessageUtils  
    
  2. 杜绝完全不规范的缩写,避免望文不知义。

    反例:
    AbstractClass“缩写”命名成 AbsClass、
    condition“缩写”命名成 condi、
    此类随意 缩写严重降低了代码的可阅读性。
    
  3. 类名使用 UpperCamelCase 风格,必须遵从驼峰形式。

    正例:MarcoPolo /  XmlService / TcpUdpDeal / TaPromotion  
    反例:macroPolo /  XMLService / TCPUDPDeal / TAPromotion
    
  4. 方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵 从驼峰形式。

    正例: localValue / getHttpMessage() / inputUserId  
    
  5. 常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。

    正例:MAX_STOCK_COUNT  
    反例:MAX_COUNT 
    
  6. 抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;测 试类命名以它要测试的类的名称开始,以 Test 结尾。

  7. 为了达到代码自解释的目标,任何自定义编程元素在命名时,使用尽量完整的单 词组合来表达其意。

    反例:变量 int a,随意命名方式。 
    
  8. 对于 Service 和 DAO 类,基于 SOA 的理念,暴露出来的服务一定 是接口,内部的实现类用 Impl 的后缀与接口区别。

    正例:CacheServiceImpl 实现 CacheService 接口。  
    
  9. 方法命名规约

    1) 获取单个对象的方法用 get 做前缀。 
    2) 获取多个对象的方法用 list 做前缀。 
    3) 获取统计值的方法用 count 做前缀。  
    4) 插入的方法用 save/insert 做前缀。  
    5) 删除的方法用 remove/delete 做前缀。  
    6) 修改的方法用 update 做前缀。
    

二.IDEA设置代码注释

  1. 设置class和interface自动创建注释
    Settings->File and Code Templates->Class

    在#parse下添加:
    Class:
    /**
    * @ClassName: ${NAME}
    * @Description: TODO
    * @Author: ${USER}
    * @Date: ${DATE} ${TIME}
    * @Version: 1.0
    **/
    
    Interface:
    /**
    * @Interface: ${NAME}
    * @Description: TODO
    * @Author: ${USER}
    * @Date: ${DATE} ${TIME}
    * @Version: 1.0
    **/
    

    如图:在这里插入图片描述在这里插入图片描述

  2. 设置方法注释
    Settings->Live Templates

    1).点击右侧加号,选择Template Group
    2).命名UserDefined
    3).选择UserDefined,点击右侧加号,选择Live Template,命名为:*,上方选择Enter
    4).设置Template text:
       *
       * TODO
       *
       * @author $USER$
       * @Date $time$ $date$ 
       $param$ 
       * @return $return$
       **/
    5).点击下方警告,选择JAVA。
    6).点击Edit variables,如下图
    

    paramDefaultValue

    groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {result+=' * @param ' + params[i] + ((i < params.size() - 1) ? '\\n' : '')}; return result", methodParameters())
    

    如图:
    在这里插入图片描述
    在这里插入图片描述

三.缩进

采用 4 个空格缩进或则使用 tab 字符,建议使用 tab。 说明:如果使用 tab 缩进,必须设置 1 个tab 为 4 个空格。IDEA 设置 tab 为 4 个空格时, 请勿勾选 Use tab character。

四.方法内注释

当一个方法内代码里面逻辑复杂,方法内必须写注释。

for(MultipartFile file :files.values()){   
     String fileName=file.getOriginalFilename();  //文件名 
     Long fileSize = file.getSize();  //文件大小 
     //获取后缀
     String suffix = fileName.substring(fileName.lastIndexOf("."));
     String newFileName = Uuid+suffix; 
     //创建文件对象 
     File tagetFile = new File(folderName+newFileName); 
     if(!tagetFile.exists()){
     	//文件名不存在 则新建文件,并将文件复制到新建文件中
	     try {
	     	tagetFile.createNewFile();
	     } catch (IOException e) {
	     	e.printStackTrace(); 
	     }
	     try {
		     //获得文件的 MD5 值
		     String md5Code = DigestUtils.md5Hex(newFileName + fileSize );
		     //复制文件
		     file.transferTo(tagetFile);
		     if(fileName.indexOf(".doc") != -1){
			     //word 转换成 PDF
			     WordToPdf.wordConvertToPdf(tagetFile.getPath(), pdfKeepUrl);
		     }else if(fileName.indexOf(".xls") != -1){ 
			     //excl 转换成 PDF
			     ExclToPdf.exclConvertToPdf(tagetFile.getPath(), pdfKeepUrl);
		     }  

五.IDEA安装插件

1.FindBugs-IDEA
2.Alibaba Java Coding Guidelines
3.pmd

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值