首页 > 学院 > 开发设计 > 正文

java编程的78条黄金法则

2019-11-14 21:51:23
字体:
来源:转载
供稿:网友
java编程的78条黄金法则

创建和销毁对象

1、考虑用静态工厂方法(返回类的实例的静态方法)代替构造器2、遇到多个构造器参数时要考虑用构造器3、用私有构造器或者枚举类型强化Singleton属性4、通过私有构造器强化不可实例化的能力5、避免创建不必要的对象6、消除过期的对象引用7、避免使用终结(final)方法

对于所有对象都通用的方法

8、覆盖equals时请遵守通用约定9、覆盖equals时总要覆盖hashCode10、始终要覆盖toString11、谨慎地覆盖clone12、考虑实现Comparable接口

类和接口

13、使类和成员的可访问性最小化14、在公有类中使用访问方法而非公有域15、使可变性最小化16、复合优于继承17、要么为继承为设计,并提供文档说明,要么就禁止继承18、接口优于抽象类19、接口只用于定义类型20、类层次优于标签类21、用函数对象表示策略22、优先考虑静态成员类

泛型

23、不要在新代码中采用原生态类型24、消除非受检警告25、列表优先于数组26、优先考虑泛型27、优先考虑泛型方法28、采用有限制通配符来提升API的灵活性29、优先考虑类型安全的异构造器

枚举和注解

30、用enum带起int常量31、用实例域代替序数32、用EnumSet代替位域33、用EnumMap代替序数索引34、用接口模拟可伸缩的枚举35、注解优先于命名模式36、坚持使用Override注解37、用标记接口定义类型

方法

38、检查参数的有效性39、必要时进行保护性拷贝40、谨慎设计方法签名41、慎用重载42、慎用可变参数43、返回零长度的数组或者集合,而不是null44、为所有导出的API元素编写文档注释

通用程序设计

45、将局部变量的作用域最小化46、for-each循环优先于传统的for循环,[for循环为何可恨]http://justjavac.com/other/2012/05/15/whats-wrong-with-the-for-loop.html47、了解和使用类库48、如果需要精确的答案,请避免使用float和double49、基本类型优先于装箱基本类型50、如果其他类型更适合,则尽量避免使用字符串51、当心字符串链接的性能52、通过接口引用对象53、接口优先于反射机制54、谨慎使用本地方法55、谨慎进行优化56、遵守普遍接受的命名惯例

异常

57、只针对异常的情况才使用异常58、对可恢复的情况使用受检异常,对编程错误使用运行时异常59、避免不必要地使用受检的异常60、优先使用标准的异常61、抛出与抽象相对应的异常62、每个方法抛出的异常都要有文档63、在细节消息中包含捕获失败的信息64、努力使失败包含原子性65、不要忽略异常

并发

66、同步访问共享的可变数据67、避免过度同步68、executor和task优先于线程69、并发工具优先于wait和notify70、线程安全性的文档化......

详细说明:http://java.662p.com/thread-3615-1-1.html


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表