简记 - java 开发手册 精简版

抽象类命名使用Abstract或Base开头,异常类命名使用Exception结尾,测试类命名以它要测试的类名开始,以Test结尾

 

在一个方法中,在不同代码块中的局部变量的命名不要相同

 

子类和父类的成员变量名称不能相同

 

接口类中的方法和属性不要加任何修饰符(public也不要加)

 

讲常量按功能放到不同的常量类中,比如缓存常量放到CacheConsts,系统配置常量放到ConfigConsts类中。

 

注释的// 与注释的内容之间有且仅有一个空格

 

单个方法的行数不超过80行

 

定义的接口会被调用 所以不能修改方法签名 对过时的方法需要注解@Deprecated.

 

所有想同类型的包装类对象之间值的比较,全部使用equals方法

 

所有的POJO类属性必须使用包装类数据类型

RPC方法的返回值和参数必须使用包装数据类型

所有局部变量使用基本数据类型

 

在循环体内 字符串的连接方式使用Stringbuilder的append

 

collections类返回的对象,如emptyList()和singletonList()等都是immutable list ,不可以对其添加或者删除元素

 

在使用collection接口的任何实现类的addAll()方法时,都要对输入的集合参数进行NPE判断,比如ArrayList#addAll()

 

Arrays.asList()把数组转换为集合时,不能使用集合的相关方法,如add/delete/clear方法

 

不要在foreach循环里面进行元素的remove/add操作,remove元素使用iterator方式,,如果并发操作需要对iterator对象加锁

 

使用entrySet遍历Map类集合K/V,而不是用keySet方式遍历

 

利用set元素唯一的特性,可以快速对一个元素进行去重操作

 

在高并发场景中,避免使用“等于”判断作为终止或者退出的条件,应使用大于或者小于的判断。比如当商品=0时,退出,由于高并发导致商品数为负数,这就导致永远不满足=0的条件。

 

异常中,不能在finally块中使用return

 

NPE:自动拆箱、查询数据库数据返回null

 

避免重复打印日志,否则会让费磁盘空间,必须在日志配置文件中设置additivity=false

 

web应用必须正确配置robots文件,非SEO URL必须配置为禁止爬虫访问

数据库名,表名,字段名都不允许出现任何大写字母,mysql在windows下不区分大小写,在linux下区分大小写。表名不使用复数名词。

 

数据库小数类型为decimal,不能用float和double存储,因为float和double存在精度损失的问题

 

冗余字段遵循:不是频繁修改的字段 并不是varchar或者text类型

 

禁止3个表进行join,多表关联时,确保被关联的字段有索引

 

页面搜索禁止使用左模糊获取全模糊,通过搜索引擎来解决。索引文件具有B-tree的最左前缀匹配特性,如果左边的值不确定,就无法使用改索引。

 

建组合索引时,区分度越高的越排在组合索引的左边。

 

不得使用外键和级联,一切外键概念必须在应用层解决

 

禁止使用存储过程,存储过程难以调试和扩展,更没移植性。存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行

 

如果要存储表情,那么选择utf8mb4进行存储

 

不允许直接拿hashmap和hashtable作为查询结果集的输出

 

二方库里可以定义枚举类型,参数也可以使用枚举类型,但是接口返回值不允许使用枚举类型或者包含枚举类型的POJO对象

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值