笔记

来源:互联网 发布:鬼刀精装画册淘宝 编辑:程序博客网 时间:2024/06/06 18:51

第8章:通用程序设计

第45条:将局部变量的作用域最小化

  • 要使局部变量的作用域最小化,最有力的方法就是在第一次使用它的地方声明

第46条:for-each循环优于传统的for循环

  • 用for-each没有性能损失,甚至用于数组也一样

  • for-each在简洁度和预防bug方面有着传统for循环无法比拟的优势

  • 三种情况无法使用for-each:过滤,装换,平行迭代

第47条:了解和使用类库

  • 使用标准类库,可以充分利用这些编写标准类库的专家的知识,以及在你之前其他人使用的经验

第48条:如果需要精确的案,请避免使用float和double

  • float和double主要是为了科学计算和工程计算而设计的

第49条:基本类型优先于装箱类型

  • java有2种类型:基本类型(int,double,boolean)和引用类型:(Strnig,List),每个基本类型都对应有个引用类型:装箱基本类型(Integer,Double,Boolean)

第50条:如果其他类型更合适,则尽量避免使用字符串

  • 字符串不适合代替其他的值类型

  • 字符串不适合代替枚举类型

  • 字符串不适合代替聚集类型

  • 字符串不适合代替能力表

第51条:担心字符串连接的性能

第52条:通过接口引用对象

  • 如果没有合适的接口存在,那么对于参数,返回值,变量和域来说,就应该使用接口类型声明

  • 如果没有合适的接口存在,完全可以用类而不是接口来引用对象

第53条:接口优于反射机制

  • 丧失了编译时类型检查的好处

  • 执行反射访问所需要的代码很多

  • 性能损失,普通应用程序在运行时不应该,以反射方式访问对象

第54条:谨慎地使用本地方法

第55条:谨慎地进行优化

第56条:遵守普通接受的命名惯例

第9章:异常

发挥异常的优点,可以提供程序地可读性,可靠性和可维护性

第57条:只针对异常的情况才使用异常

  • 异常应该只用于异常的情况下,它们永远不应该用于正常的控制流

第58条:可恢复的情况使用受检异常,对编程错误使用运行时异常

  • java的三种可抛出异常:受检异常,运行时异常和错误

第59条:避免不必要的使用受检异常

第60条:优先使用标准的异常

第61条:抛出与抽象相对应的异常

  • 异常转译:更高层的实现应该捕获低层的异常,同时抛出可以按照高层进行解释的异常

第62条:每个方法抛出的异常都要有文档

第63条:在细节消息中包含能捕获失败的信息

第64条:努力使失败保持原子性

  • 一般而言,失败的方法调用应该使对象保持在被调用之前的状态

第65条:不要忽略异常

0 0