01. 考虑使用静态工厂方法替代构造方法.md
|
Update 01. 考虑使用静态工厂方法替代构造方法.md
|
2019-02-27 11:56:24 +08:00 |
02. 当构造方法参数过多时使用builder模式.md
|
Update 02. 当构造方法参数过多时使用builder模式.md
|
2019-02-27 11:56:45 +08:00 |
03. 使用私有构造方法或枚类实现Singleton属性.md
|
Update 03. 使用私有构造方法或枚类实现Singleton属性.md
|
2019-02-27 11:56:04 +08:00 |
04. 使用私有构造方法执行非实例化.md
|
Update 04. 使用私有构造方法执行非实例化.md
|
2019-02-27 11:55:43 +08:00 |
05. 使用依赖注入取代硬连接资源(hardwiring resources).md
|
Update 05. 使用依赖注入取代硬连接资源(hardwiring resources).md
|
2019-02-27 11:57:08 +08:00 |
06. 避免创建不必要的对象.md
|
Update 06. 避免创建不必要的对象.md
|
2019-02-27 11:57:29 +08:00 |
07. 消除过期的对象引用.md
|
Update 07. 消除过期的对象引用.md
|
2019-02-27 11:54:11 +08:00 |
08. 避免使用Finalizer和Cleaner机制.md
|
Update 08. 避免使用Finalizer和Cleaner机制.md
|
2019-02-27 11:54:47 +08:00 |
09. 使用try-with-resources语句替代try-finally语句.md
|
Update 09. 使用try-with-resources语句替代try-finally语句.md
|
2019-02-27 11:55:08 +08:00 |
10. 重写equals方法时遵守通用约定.md
|
Update 10. 重写equals方法时遵守通用约定.md
|
2019-02-27 11:58:26 +08:00 |
11. 重写equals方法时同时也要重写hashcode方法.md
|
Update 11. 重写equals方法时同时也要重写hashcode方法.md
|
2018-12-24 13:28:29 +08:00 |
12. 始终重写 toString 方法.md
|
Update 12. 始终重写 toString 方法.md
|
2018-12-24 13:26:49 +08:00 |
13. 谨慎地重写 clone 方法.md
|
Update 13. 谨慎地重写 clone 方法.md
|
2018-12-24 13:26:01 +08:00 |
14. 考虑实现Comparable接口.md
|
Update 14. 考虑实现Comparable接口.md
|
2018-12-24 13:23:36 +08:00 |
15. 使类和成员的可访问性最小化.md
|
Update 15. 使类和成员的可访问性最小化.md
|
2018-12-24 13:38:31 +08:00 |
16. 在公共类中使用访问方法而不是公共属性.md
|
Update 16. 在公共类中使用访问方法而不是公共属性.md
|
2018-12-24 13:38:10 +08:00 |
17. 最小化可变性.md
|
no message
|
2018-11-16 22:10:13 +08:00 |
18. 组合优于继承.md
|
no message
|
2018-11-16 22:10:13 +08:00 |
19. 如使用继承则设计,应当文档说明,否则不该使用.md
|
no message
|
2018-11-16 22:10:13 +08:00 |
20. 接口优于抽象类.md
|
no message
|
2018-11-16 22:10:13 +08:00 |
21. 为后代设计接口.md
|
no message
|
2018-11-16 22:10:13 +08:00 |
22. 接口仅用来定义类型.md
|
no message
|
2018-11-16 22:10:13 +08:00 |
23. 优先使用类层次而不是标签类.md
|
no message
|
2018-11-16 22:10:13 +08:00 |
24. 优先考虑静态成员类.md
|
no message
|
2018-11-16 22:10:13 +08:00 |
25. 将源文件限制为单个顶级类.md
|
no message
|
2018-11-16 22:10:13 +08:00 |
26. 不要使用原始类型.md
|
no message
|
2018-11-16 22:10:13 +08:00 |
27. 消除非检查警告.md
|
no message
|
2018-11-16 22:10:13 +08:00 |
28. 列表优于数组.md
|
no message
|
2018-11-16 22:10:13 +08:00 |
29. 优先考虑泛型.md
|
no message
|
2018-11-16 22:10:13 +08:00 |
30. 优先使用泛型方法.md
|
no message
|
2018-11-16 22:10:13 +08:00 |
31. 使用限定通配符来增加API的灵活性.md
|
no message
|
2018-11-16 22:10:13 +08:00 |
32. 合理地结合泛型和可变参数.md
|
no message
|
2018-11-16 22:10:13 +08:00 |
33. 优先考虑类型安全的异构容器.md
|
no message
|
2018-11-16 22:10:13 +08:00 |
34. 使用枚举类型替代整型常量.md
|
34. 使用枚举类型替代整型常量
|
2018-11-16 22:08:18 +08:00 |
35. 使用实例属性替代序数.md
|
35. 使用实例属性替代序数
|
2018-11-24 15:06:35 +08:00 |
36. 使用EnumSet替代位属性.md
|
36. 使用 EnumSet 替代位属性
|
2018-11-25 09:11:12 +08:00 |
37. 使用EnumMap替代序数索引.md
|
37. 使用 EnumMap 替代序数索引
|
2018-12-01 19:25:56 +08:00 |
38. 使用接口模拟可扩展的枚举.md
|
38. 使用接口模拟可扩展的枚举
|
2018-12-15 15:28:10 +08:00 |
39. 注解优于命名模式.md
|
39. 注解优于命名模式
|
2018-12-16 21:44:47 +08:00 |
40. 始终使用Override注解.md
|
40. 始终使用 Override 注解
|
2018-12-22 13:27:54 +08:00 |
41. 使用标记接口定义类型.md
|
Update 41. 使用标记接口定义类型.md
|
2018-12-29 18:06:36 +08:00 |
42. lambda表达式优于匿名类.md
|
42. lambda 表达式优于匿名类
|
2018-12-29 18:05:45 +08:00 |
43. 方法引用优于lambda表达式.md
|
43. 方法引用优于 lambda 表达式
|
2018-12-31 19:56:42 +08:00 |
44. 优先使用标准的函数式接口.md
|
Update 44. 优先使用标准的函数式接口.md
|
2019-01-02 19:34:20 +08:00 |
45. 明智审慎地使用Stream.md
|
45. 明智审慎地使用 Stream
|
2019-01-03 11:37:40 +08:00 |
46. 优先考虑流中无副作用的函数.md
|
46. 优先考虑流中无副作用的函数
|
2019-01-04 15:43:20 +08:00 |
47. 优先使用Collection而不是Stream来作为方法的返回类型.md
|
47. 优先使用 Collection 而不是 Stream 来作为方法的返回类型
|
2019-01-05 15:59:44 +08:00 |
48. 谨慎使用流并行.md
|
48. 谨慎使用流并行
|
2019-01-15 15:06:31 +08:00 |
49. 检查参数有效性.md
|
49. 检查参数有效性
|
2019-02-14 16:43:42 +08:00 |
50. 必要时进行防御性拷贝.md
|
update
|
2019-02-14 17:02:46 +08:00 |
51. 仔细设计方法签名.md
|
51. 仔细设计方法签名.md
|
2019-02-14 17:11:13 +08:00 |
69. 只针对异常的情况下才使用异常.md
|
Update 69. 只针对异常的情况下才使用异常.md
|
2019-03-05 13:57:53 +08:00 |
70. 对可恢复的情况使用受检异常,对编程错误使用运行时异常.md
|
Update 70. 对可恢复的情况使用受检异常,对编程错误使用运行时异常.md
|
2019-03-06 13:32:12 +08:00 |
71. 避免不必要的使用受检异常.md
|
update
|
2019-03-07 14:40:29 +08:00 |
88. 保护性的编写 readObject 方法.md
|
Update 88. 保护性的编写 readObject 方法.md
|
2019-03-05 11:26:47 +08:00 |
89. 对于实例控制,枚举类型优于 readResolve.md
|
89. 对于实例控制,枚举类型优于 readResolve
|
2019-02-20 19:43:40 +08:00 |
90. 考虑用序列化代理代替序列化实例.md
|
90. 考虑用序列化代理代替序列化实例
|
2019-02-15 17:16:23 +08:00 |
LICENSE
|
Create LICENSE
|
2019-01-18 11:22:05 +08:00 |
README.md
|
Update README.md
|
2019-02-21 10:46:23 +08:00 |
SUMMARY.md
|
Update SUMMARY.md
|
2018-12-05 13:58:58 +08:00 |