读阿里巴巴开发手册总结

来源:互联网 发布:伊利丹7.3知乎 编辑:程序博客网 时间:2024/05/16 16:01
1.boolean类型变量,不用用isDelete命名,应该直接用delete命名,因为他的默认的get方法也是isdelete 但是可能某些反编译过程会认为变量是delete
2.包名统一小写,点分割符之间有且只有一个自然语义的英文单词
3.if/for/while/switch/do 保留关键字与括号之间必须加空格
4.//与注释内容之间有一个空格
5.所有的覆写放法,要加@Override
6.构造方法里禁止加入任何业务逻辑,如果有初始化逻辑,放在init方法里
7.慎用O贝加尔冲突的clone方法。对象的clone方法是浅拷贝,若想实现深入拷贝需要重写clone方法实现对象的拷贝
8.集合 只要重写equals,就必须重写hashcode
9.集合转数组,必须使用集合的toArray,底层是这样的,如果保证转换前后是否一致,要保证数组和list长度相同

10.Arrays.asList()方法,只是数据是数组还是list,不会改变底层的结果

11.创建现场或者线程池时要定义有意义的线程名,方便出错回溯
12.多线程问题没看,没怎么遇到过,不太明白
13.类,类属性,类方法 用 /** 内容 **/
14. 不要在finally里面执行return,因为会执行finally里的return,而不会执行try里面的return
15.防止NPE,程序员的基本修养。(被测试玩的吃了N次亏了)
16.索引的长度与区分度是一对矛盾体,一般对字符串类型数据,长度为20的索引,区分度会高达90%以上
17.不要使用count(列名)或count(常量)来代替count(*),count(*)是sql92定义的标准执行统计行数的语法,更数据库无关,更null和非null无关
count(*)会统计值为null的行,而count(列名)不会统计null值的行,亲测,还是count(1)快,如果不计较这点差别,其实无所谓
18.null和任何值比较都是null
19.
20.