编写Java代码的100多个建议(总结)

  1. 不要在常量和变量中出现易混淆的字母
  2. 不要让常量蜕变成变量
  3. 三元运算符的类型保持一致
  4. 不要重载带有变长参数的方法
  5. 不要让null和空值威胁到变长方法
  6. 重写变长方法也循规蹈矩
  7. 小心自增的陷阱
  8. 不要让旧语法困扰你
  9. 少用静态导入
  10. 不要在本类中覆盖静态导入的方法和变量
  11. 养成良好的习惯,显示声明UID
  12. 不要用序列化类在构造函数中为不变量赋值
  13. 不要为final变量复杂赋值
  14. 使用序列化类的私有方法解决部分属性持久化问题
  15. 不要忘记break
  16. 易变业务使用脚本语言编写
  17. 慎用动态编译
  18. 避免instanceof非预期结果
  19. 断言不是鸡肋
  20. 不要只替换一个类
  21. 用偶判断,不用奇判断
  22. 用整数类型处理货币
  23. 不要让类型默认转换
  24. 边界,边界,边界
  25. 不要让四舍五入亏了一方
  26. 小心包装类型的null值
  27. 小心包装类型的大小比较
  28. 优先使用整形池
  29. 优先选择基本类型
  30. 不要随便设置随机种子
  31. 不要在接口中写实现代码
  32. 静态变量一定要先声明后赋值
  33. 不要重写静态方法
  34. 构造函数尽量简化
  35. 不要在构造函数中初始化其他类
  36. 使用构造代码块精炼程序
  37. 构造代码块会想你所想
  38. 使用静态内部类提高封装性
  39. 使用匿名类的构造函数
  40. 匿名类的构造函数很特殊
  41. 让多重继承成为现实
  42. 让工具类不可实例化
  43. 避免对象的浅复制
  44. 推荐使用序列化实现对象的复制
  45. 重写equals方法时不要识别不出自己
  46. equals应该考虑null值情景
  47. 在equals中使用getClass进行类型判断
  48. 重写equals方法必须重写hashcode方法
  49. 推荐重写toString方法
  50. 使用package-info类为包服务
  51. 不要主动进行垃圾回收
  52. 推荐使用String字面量复制
  53. 注意方法中传递的参数要求
  54. 正确使用StringBuffer,StringBuilder
  55. 注意字符串的位置
  56. 自由选择字符串拼接方法
  57. 推荐在复杂字符串操作中使用正则
  58. 建议使用utf编码
  59. 对字符串排序持一种宽容的态度
  60. 性能考虑,数组是首选
  61. 若有必要,使用可变数组
  62. 小心数组的浅复制
  63. 在明确的情况下,为集合指定初始容量
  64. 多种最值算法,适时选择
  65. 小心基本类型数组转换类表陷阱
  66. asList方法产生的List对象不可更改
  67. 不同的列表选择不同的遍历方法
  68. 频繁的插入和删除使用链表
  69. 列表相等只需关心元素数据
  70. 子列表只是原列表的一个视图
  71. 推荐使用subList处理局部列表
  72. 生成子列表后不要再操作原列表
  73. 使用Comparator进行排序
  74. 不推荐使用binarySearch对列表进行检索
  75. 集合中的元素必须做到compareTo和equals同步
  76. 集合运算时使用更优雅的方式
  77. 使用shuffle打乱列表
  78. 减少HashMap中元素的数量
  79. 集合中的哈希码不要重复
  80. 多线程使用Vector和HashTable
  81. 非稳定排序推荐使用List
  82. 集合大家族
  83. 推荐使用枚举定义常量
  84. 使用构造函数协助描述枚举项
  85. 小心switch带来的空值异常
  86. 在switch的default中添加AssertionError
  87. 使用valueOf前必须进行校验
  88. 用枚举实现工厂方法模式更简洁
  89. 枚举项的数量限制在64个以内
  90. 小心注解继承
  91. 枚举和注解结合使用威力更大
  92. 注意@Override不同版本的区别
  93. Java的泛型是类型擦出的
  94. 不能初始化泛型参数和数组
  95. 强制声明泛型的实际类型
  96. 不同场景使用不同的泛型通配符
  97. 小心泛型是不能协变和逆变的
  98. 建议采用的顺序List<T>,List<?>,List<Object>
  99. 严格限定泛型类型采用多重界限
  100. 数组的真实类型必须是泛型类型的子类型
  101. 注意Class类的特殊性
  102. 适时选择getDeclaredxxx和getxxx
  103. 反射访问属性或方法时将Accessible设置为true
  104. 使用forName动态加载类文件
  105. 动态加载不适合数组
  106. 动态代理可以使代理模式更加灵活
  107. 使用反射增加装饰模式的普适性
  108. 反射让模板方法模式更强大
  109. 不要太多关注反射效率
  110. 提倡异常封装
  111. 采用异常链传递异常
  112. 受检异常尽可能转化为非受检异常
  113. 不要在finally中处理返回值
  114. 不要在构造函数中抛出异常
  115. 使用Throwable获得栈信息
  116. 异常只为异常服务
  117. 多使用异常,把性能问题放一边
  118. 不推荐重写start方法
  119. 启动线程前stop方法是不靠谱的
  120. 不使用stop方法通知线程
  121. 线程优先级只使用三个等级
  122. 使用线程异常处理器提成系统可靠性
  123. volatile不能保证数据同步
  124. 异步运算考虑使用Callable接口
  125. 优先选择线程池
  126. 适时选择不同的线程池来实现
  127. Lock和synchronized是不一样的
  128. 预防线程死锁
  129. 适当设置阻塞队列长度
  130. 使用CountDownLatch协调子线程
  131. CyclicBarrier让多线程齐步走
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342