Java 代码与架构之完美优化:实战经典
资料介绍
Java 代码与架构之完美优化:实战经典
作者:颜廷吉编著
出版时间:2015
内容简介
虽然劣质代码一样可以运行,但是劣质代码的存在就会产生潜在bug,或者增加阅难度与理解困难,也增加了维护成本等不利影响,因此我们要追求高质量代码。**编程,从内容上分析了拙劣代码的表现形式(现象),分析了其不利影响,给出了**解决方案。同时给出了劣质代码的检查工具与方法,并汲取了Checkstyle、Findebug、PMD、Jtest等静态代码品质分析工具常见劣质代码现象。又利用*常用的28种重构技巧,演示了代码由劣质变优秀的过程。
目录
序
前言
第1章 代码质量
1.1 什么是代码质量
1.2 什么是软件质量
1.3 代码质量与软件质量
1.4 代码质量优化理论
1.5 提高代码质量手段
小结
第2章 代码质量静态检查工具
2.1 静态分析技术概述
2.2 静态分析技术原理
2.3 静态分析技术给我们带来的好处
2.4 常用重要静态分析工具
2.5 如何优化静态分析工具
小结
第3章 代码质量优化通用准则
3.1 避免使用空块
3.2 避免使用空类
3.3 去掉多余的import
3.4 剪切无效代码
3.5 制定命名体系规约
编程解密一:完美规约
优化技巧01:按照命名规约赋予名称
3.6 去掉重复代码
3.7 如何优雅使用switch语句
3.8 用大写“L”代替小写“l”定义long变量
3.9 避免在一条语句中声明或赋值多个变量
3.10 去掉控制标志的临时变量
优化技巧02:移除控制标志临时变量
3.11 避免赋予临时变量过多的角色
优化技巧03:赋予临时变量单一职责
3.12 避免使用魔法数字
优化技巧04:用常量取代魔法数字
3.13 在for循环内修正增量因子有什么弊端
3.14 用Enum代替Integer类型码常量
优化技巧05:用枚举取代类型码
3.15 用BigDecimal类型进行精确计算
3.16 避免混用“+”
3.17 避免混用复杂运算符
3.18 避免使用复杂条件式或分支
优化技巧06:用代码片段拆分复杂表达式
优化技巧07:用卫语句代替嵌套条件表达式
优化技巧08:用多态代替条件表达式
3.19 如何深入理解“= =”的真正含义
3.20 要习惯于用泛型代替原生类型
3.21 如何正确使用通配符的边界
3.22 如何发挥正则表达式的威力
小结
第4章 方法优化技巧
4.1 *小化原则
优化技巧09:封装类成员
4.2 hashCode()与equals()是个孪生兄弟
4.3 使用string.equals("String")带来的弊端
4.4 避免命名不具有继承关系的同名方法
4.5 检查参数的有效性
4.6 避免使用可变参数
4.7 如何优化过长参数
优化技巧10:把参数提升成类成员变量
优化技巧11:引入参数对象
4.8 为什么不要重写静态方法
4.9 避免使用过时的API
4.10 优雅的集合运算方法知多少
4.11 避免重复发明轮子
4.12 如何对臃肿的方法进行瘦身
优化技巧12:分解方法
优化技巧13:合并方法
小结
第5章 如何保证多线程代码质量
5.1 为什么不要重写start()方法
5.2 避免使用非线程安全的初始化方法
5.3 用final成员对象作为同期化对象锁
5.4 在synchronized内使用wait()方法
5.5 尽量缩小同期化代码范围
小结
第6章 如何优化类与接口
6.1 避免创建不必要的对象
6.2 避免使用对象的浅拷贝
6.3 如何正确放置静态区位置
6.4 为什么不要使用静态引入
6.5 如何正确使用instanceof
6.6 避免实例化特有工具类
6.7 避免有深度耦合的类关系
优化技巧14:移动变量
优化技巧15:移动方法
6.8 如何为臃肿的类进行手术
优化技巧16:分解类
6.9 如何优化冗赘类
优化技巧17:合并类
6.10 避免在接口中出现实现代码
小结
第7章 如何正确使用异常
7.1 避免定义继承Error或Throwable子类
7.2 避免抛出RuntimeException或Exception
7.3 避免捕获NullPointerException或Error
7.4 避免在finally块中处理返回值
7.5 避免使失败失去原子性
7.6 如何对异常进行封装
优化技巧18:用异常代替错误码
7.7 将优雅的异常信息反馈给用户
7.8 避免乱用异常
小结
第8章 如何优化代码性能
8.1 避免在大量字符串拼接时用“+”
8.2 避免在循环体内生成临时对象
8.3 在频繁插入与删除时使用LinkedList
8.4 在文件操作后要进行清理动作
编程解密四:完美改造
8.5 避免显示调用finalized()方法
小结
第9章 架构优化
9.1 单一职责原则
优化技巧19:梳理并分解类职责
9.2 接口隔离原则
优化技巧20:隔离接口
9.3 依赖倒置原则
优化技巧21:提炼接口
9.4 里式替换原则
9.5 *少知道原则
9.6 如何扩展外部类功能
优化技巧22:引入本地扩展
9.7 如何梳理混杂的架构体系
优化技巧23:以委托代替继承
优化技巧24:封装向下转型
优化技巧25:提炼继承体系
优化技巧26:折叠继承体系
小结
第10章 包优化
10.1 发布等价原则
10.2 共同重用原则
10.3 共同封闭原则
10.4 无环依赖原则
10.5 如何保持包的清晰
优化技巧28:规整包中类位置
编程解密五:完美优化
10.6 如何抽出框架层次
10.7 如何提取框架工程
小结
第11章 优良代码风格
11.1 如何优化代码格式工具
11.2 如何统一标准的代码格式
11.3 养成良好的代码注释习惯
编程解密六:完美突破
小结
结束语
附录
参考文献
作者:颜廷吉编著
出版时间:2015
内容简介
虽然劣质代码一样可以运行,但是劣质代码的存在就会产生潜在bug,或者增加阅难度与理解困难,也增加了维护成本等不利影响,因此我们要追求高质量代码。**编程,从内容上分析了拙劣代码的表现形式(现象),分析了其不利影响,给出了**解决方案。同时给出了劣质代码的检查工具与方法,并汲取了Checkstyle、Findebug、PMD、Jtest等静态代码品质分析工具常见劣质代码现象。又利用*常用的28种重构技巧,演示了代码由劣质变优秀的过程。
目录
序
前言
第1章 代码质量
1.1 什么是代码质量
1.2 什么是软件质量
1.3 代码质量与软件质量
1.4 代码质量优化理论
1.5 提高代码质量手段
小结
第2章 代码质量静态检查工具
2.1 静态分析技术概述
2.2 静态分析技术原理
2.3 静态分析技术给我们带来的好处
2.4 常用重要静态分析工具
2.5 如何优化静态分析工具
小结
第3章 代码质量优化通用准则
3.1 避免使用空块
3.2 避免使用空类
3.3 去掉多余的import
3.4 剪切无效代码
3.5 制定命名体系规约
编程解密一:完美规约
优化技巧01:按照命名规约赋予名称
3.6 去掉重复代码
3.7 如何优雅使用switch语句
3.8 用大写“L”代替小写“l”定义long变量
3.9 避免在一条语句中声明或赋值多个变量
3.10 去掉控制标志的临时变量
优化技巧02:移除控制标志临时变量
3.11 避免赋予临时变量过多的角色
优化技巧03:赋予临时变量单一职责
3.12 避免使用魔法数字
优化技巧04:用常量取代魔法数字
3.13 在for循环内修正增量因子有什么弊端
3.14 用Enum代替Integer类型码常量
优化技巧05:用枚举取代类型码
3.15 用BigDecimal类型进行精确计算
3.16 避免混用“+”
3.17 避免混用复杂运算符
3.18 避免使用复杂条件式或分支
优化技巧06:用代码片段拆分复杂表达式
优化技巧07:用卫语句代替嵌套条件表达式
优化技巧08:用多态代替条件表达式
3.19 如何深入理解“= =”的真正含义
3.20 要习惯于用泛型代替原生类型
3.21 如何正确使用通配符的边界
3.22 如何发挥正则表达式的威力
小结
第4章 方法优化技巧
4.1 *小化原则
优化技巧09:封装类成员
4.2 hashCode()与equals()是个孪生兄弟
4.3 使用string.equals("String")带来的弊端
4.4 避免命名不具有继承关系的同名方法
4.5 检查参数的有效性
4.6 避免使用可变参数
4.7 如何优化过长参数
优化技巧10:把参数提升成类成员变量
优化技巧11:引入参数对象
4.8 为什么不要重写静态方法
4.9 避免使用过时的API
4.10 优雅的集合运算方法知多少
4.11 避免重复发明轮子
4.12 如何对臃肿的方法进行瘦身
优化技巧12:分解方法
优化技巧13:合并方法
小结
第5章 如何保证多线程代码质量
5.1 为什么不要重写start()方法
5.2 避免使用非线程安全的初始化方法
5.3 用final成员对象作为同期化对象锁
5.4 在synchronized内使用wait()方法
5.5 尽量缩小同期化代码范围
小结
第6章 如何优化类与接口
6.1 避免创建不必要的对象
6.2 避免使用对象的浅拷贝
6.3 如何正确放置静态区位置
6.4 为什么不要使用静态引入
6.5 如何正确使用instanceof
6.6 避免实例化特有工具类
6.7 避免有深度耦合的类关系
优化技巧14:移动变量
优化技巧15:移动方法
6.8 如何为臃肿的类进行手术
优化技巧16:分解类
6.9 如何优化冗赘类
优化技巧17:合并类
6.10 避免在接口中出现实现代码
小结
第7章 如何正确使用异常
7.1 避免定义继承Error或Throwable子类
7.2 避免抛出RuntimeException或Exception
7.3 避免捕获NullPointerException或Error
7.4 避免在finally块中处理返回值
7.5 避免使失败失去原子性
7.6 如何对异常进行封装
优化技巧18:用异常代替错误码
7.7 将优雅的异常信息反馈给用户
7.8 避免乱用异常
小结
第8章 如何优化代码性能
8.1 避免在大量字符串拼接时用“+”
8.2 避免在循环体内生成临时对象
8.3 在频繁插入与删除时使用LinkedList
8.4 在文件操作后要进行清理动作
编程解密四:完美改造
8.5 避免显示调用finalized()方法
小结
第9章 架构优化
9.1 单一职责原则
优化技巧19:梳理并分解类职责
9.2 接口隔离原则
优化技巧20:隔离接口
9.3 依赖倒置原则
优化技巧21:提炼接口
9.4 里式替换原则
9.5 *少知道原则
9.6 如何扩展外部类功能
优化技巧22:引入本地扩展
9.7 如何梳理混杂的架构体系
优化技巧23:以委托代替继承
优化技巧24:封装向下转型
优化技巧25:提炼继承体系
优化技巧26:折叠继承体系
小结
第10章 包优化
10.1 发布等价原则
10.2 共同重用原则
10.3 共同封闭原则
10.4 无环依赖原则
10.5 如何保持包的清晰
优化技巧28:规整包中类位置
编程解密五:完美优化
10.6 如何抽出框架层次
10.7 如何提取框架工程
小结
第11章 优良代码风格
11.1 如何优化代码格式工具
11.2 如何统一标准的代码格式
11.3 养成良好的代码注释习惯
编程解密六:完美突破
小结
结束语
附录
参考文献
相关资料
- 基于工业互联网的SSM项目实战 物料订单管理系统 天津滨海迅腾科技集团有限公司 主编 2018年版
- 数据产品经理高效学习手册 产品设计、技术常识与机器学习 张威 2020年版
- 智慧中国 中国IT产业投资路线图 [尹沿技 著] 2012年版
- 最新数字媒体技术丛书 手机游戏产业与产品 [吴起 著] 2010年版
- 源码中国 全球IT外包新原点 [(瑞)埃尔钦汗 著] 2011年版
- 疯狂的站长 从穷站长到富站长 [温世豪 著] 2011年版
- 电竞简史 徐丽 2020年版
- 码链 大变局中遇见未来 徐蔚 2021年版
- 认识编程:以Python语言讲透编程的本质 郭屹 2021年版
- ChatGPT:读懂AI爆发背后的技术和产业逻辑 项立刚 2023年版
下载说明
本站资源使用网盘存储,可以一键转存和下载,下载速度一流;本站资源均为RAR/ZIP 格式压缩,为确保资源能够正常使用,需使用【WinRAR】等进行解压;
本站资源解压后格式为PDF的,为保证正常使用,推荐【Adobe Reader 8.0】以上版本进行阅读;
如果您发现文件无法下载,请稍后再次尝试;若依然如此,请到 报错页面 告诉我们。
本站提供的标准文件一般为PDF格式,如果您需要Word版本,可搜索【PDF转换成Word软件】进行转换;
本站资料均为网上收集,若无意中侵犯了您的版权,请与我们联系;
本站资料仅供学习交流之用,请下载后24小时内删除。正式场合使用,请购买正版;