工作总结-----java 开发规范总结

个人工作开发规范总结,慢慢积累,慢慢进步,写出无可挑剔的代码

1 java 开发规范

      1.1 校验规范     字符串判空:org.apache.commons.lang3.StringUtils.isBlank(str); 字符串处理使用StringUtils包处理

                               对象拷贝:BeanUtils#copyProperties     对象拷贝使用BeanUtils处理

                              数组校验:CollectionUtils.isEmpty()

        1.2 批量查询  批量查询接口必须对传入的数组或者不定长度的变量进行校验,避免出现一些恶意查询的情况出现。

        1.3  当实体类里面使用了枚举,必须对在实体类中对使用了枚举的字段添加@See注解

         1.3 代码提交之前必须对代码进行格式化,(ctrl+alt+l )   并且必须对代码的导包进行优化 快捷键(ctrl+alt+o)或者使用idea的默认配置实
              现

           1.4  java开发编码环境设置统一设置为utf-8   

           1.5  命名要有节操,不能中英文混用,不要首字母缩写,单词要移动有实际意义。驼峰命名

            1.6  未使用的包不要引用(ctrl+alt+o 删除未引用的导包)

            1.7  尽量减少循环嵌套层次。尽量少,不可避免时,应该通过注释表明每一个循环的开始和结尾分别在什么地方

            1.8   使用泛型必须指明具体类型

            1.9   拼接字符串,有节操的都不会使用string+(String的不可变性)

             1.10 map遍历,使用entrySet遍历map集合kv,不要使用keySet方式进行遍历。

             1.11  使用spring框架进行对象注入时候,需要清楚 #Autowired和Resource的区别,建议使用@Resource

            1.12  当构造函数参数过多时,建议使用builder模式

            1.13  避免创建不必要的对象,比如在使用正则表达式时,将 Pattern.compile 方法设置为静态方                      法,避免重复编译,使其只在方法区中编译成一个对象。

            1.14 尽量使用try-with-resources代替try-cache-finally

            1.15  设计类的成员可访问性最小化






2 数据库开发规范

       2.1更新操作:数据库干的更新操作必须 按照功能来区分,不能混用,一般一个update只进行一个更新操作

      2.2  使用持久层框架时候,需要明白# {}${}的区别,一般不到不得已的时候都是用#{}   当需要使用${} 的时候,必须要对传入的参数进行过滤

      2.3  一般来说,一张表对根据需求建立一个索引,(建议一张表的额索引不要超过五个),sql编写的时候一定要注意尽量命中索引。

      2.4  模糊查询,注意要命中索引哦  附,建议每一条重要的sql都要在终端explain一下,查看一下执行计划,sql出现问题都会是重大问题、



3 缓存使用规范      

       3.1:对某个表内的数据进行缓存时候,需要慎重,因为在大型项目里面,你可能不知道有多少个地方对这个表进行了crud操作,需要在这                    些 操作的地方都添加上删除缓存的操作,不然很容易产生数据不能及时更新的bug

       3.2:缓存批量请求key的时候,service需要对请求的key的长度进行限制。






4 异常处理规范

   1 rpc调用时,必须进行异常捕获。

    2  异常信息不允许返回给前端  

    3  异常信息记录时候,必须同时记录接口参数,让异常能够准确定位到某一个用户。 

    4 当涉及到有资源比如inputstream需要关闭时,必须使用finally进行关闭,(确保任何状态下资源都会被正常关闭)

    5  异常记录




5 日志规范

    1.避免无效日志打印

     2 日志记录必须带着类名+方法名+入参+异常日志

     3 大量无用日志会拖慢系统性能,也会增加我们查找日志的难度。日志记录,要明确为什么记录日志,这个日志能解决什么问题,哪些地方可 能会出 现这些问题,在这个基础上,尽量少记日志,

    4  不要在循环中记录日志

   5  生产环境需要关闭debug日志,我遇到过这个问题,自己买的服务器上线一个demo,一个月自动产生40G垃圾日志文件,系统出现异常。




6 备注规范

   1 给每个方法都添加必要的注释,主要应包括  创建时间,创建人,主要功能描述,相关文档地址


2 给每一个方法都添加注释 建议使用 使用Idea提供的代码模板进行备注(注释模板需要在方法体内进行使用才能获得正确的信息)

       模板:

/**

  * Method: $methodName$

   * Param: $param$

   * Return: $return$

   * Author: $user$

   * Creation: $date$ $time$

   * Description: $END$

 */

3 实体类每一个字段都需要有中文注释

 4  有手动编写的构造函数时候,建议给构造函数添加注释

  5



项目模块结构

编码规范(EOS)\SQL规范

数据库(连接池配置,mybatis配置)

事务使用

异常处理

分布式锁

并发框架

读写分离组件

监控使用

上传下载组件

唯一ID生成器

JSON序列化组件

参数校验组件

单元测试使用

安全规范

你可能感兴趣的:(工作总结-----java 开发规范总结)