Java代码规范总结(参考阿里巴巴Java开发手册)

  • 命名不能以下划线开始和结束
  • 常量统一大写
  • 抽象类名Abstract开头,异常类Exception结尾
  • POJO布尔类型不要加is前缀
  • 包名统一小写,单数
  • 接口实现类加Impl后缀
  • 不允许魔法值(未经预先定义的常量)
  • Long类型赋值后接大写L
  • 关键字if/for/while/switch/do等和括号之间加空格
  • 4个空格为缩进
  • 注释和双斜线(//)之间有且仅有一个空格
  • 单行字符数不超过120个
  • 多个参数之间逗号(,)加一个空格
  • Encoding设置UTF-8,中文换行符使用Unix
  • 直接使用类名.静态变量/静态方法,不要实例化
  • 调接口,不能修改方法签名(方法名+参数列表)
  • 相同类型包装类比较值,用equals
  • 所有POJO类属性使用包装数据类型
  • RPC方法的返回值和参数使用包装数据类型
  • 局部变量使用基本数据类型
  • 构造方法禁止加业务逻辑,可加在init方法中
  • POJO必须重写tostring方法
  • 禁止POJO中同时存在isxxx和getxxx方法
  • 多个构造方法,应该按顺序放置一起
  • 重写equals,必须重写hashCode
  • 集合转数组,必须使用集合的toArray
  • 禁止在foreach循环里进行元素的remove和add操作
  • 集合初始化时,指定集合初始值大小
  • 线程池禁止使用Executors创建,需通过ThreadPoolExecutors
  • switch块中,每个case后接break/return终止,或加注释,最后需加default语句,即使空代码
  • if/else/do/while/for后接大括号,避免采用单行编码
  • if禁止超过3层
  • 类、类属性、类方法,必须使用javadoc(/** */)注释,不得使用//
  • 所有类必须添加创建者和创建日期
  • 方法内部单行注释//,在语句上方使用,多行使用/* */
  • 所有枚举类型字段必须有注释,说明字段用途
  • velocity调用POJO属性,直接调用属性名取值
  • 后台输出给页面的变量$!{var},中间加!
  • 想获取随机整数,直接使用Random的nextInt和nextLong,不要用Math.random()方法放大取值
  • 使用System.currentTimeMillis()来获取当前的毫秒数
  • 异常不要用来做流程控制语句,条件控制
  • 异常捕获后要处理,或者抛给它的调用者
  • 不要在finally块中使用return
  • finally块必须对资源、流对象进行关闭
  • 日志应依赖日志框架SLF4J的API
  • 日志至少保存15天
  • 避免重复打印日志,日志配置文件中设置additivity=false
  • 生产环境禁止输出debug日志,有选择地输出info日志
  • 好的单元测试必须遵守AIR原则(自动化、独立性、可重复)
  • 单元测试至多是类级别,一般是方法级别
  • 用户输入的SQL参数严格使用参数绑定或METDATA字段限定
  • 数据库表达是否的字段,必须使用is_xxx命名,数据类型是unsigned tinyint
  • 表名和字段名必须使用小写或数字,下划线不能有数字
  • 表名不使用复数名词
  • 主键索引px_,唯一索引uk_,普通索引idx_
  • 小数类型用decimal,禁止使用float和double
  • 表必备三字段:id, gmt_create, gmt_modified
  • 超过三个表禁止使用join
  • 当某列的值全为null时,count(clo)的返回结果是0,sum(col)返回结果为null,所以使用sum函数需注意NPE问题
  • 使用ISNULL()来判断是否为NULL值
  • 禁止使用存储过程
  • 数据订正(删改)时,要先select
  • 表查询,不要使用 *
  • sql.xml配置参数使用#{},可以防止sql注入
  • 禁止拿hashmap和hashtable作为查询结果集输出
  • 禁止使用外键
  • 禁止使用存储过程和视图
  • Redis禁止使用select,禁止生产环境使用monitor命令
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序少年不秃头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值