书籍详情
会说话的代码:书写自表达代码之道
作者:王洪亮 著
出版社:电子工业出版社
出版时间:2013-08-01
ISBN:9787121208768
定价:¥45.00
购买这本书可以去
内容简介
写得不好的代码有各种各样的问题,会给读者带来不好的阅读体验,并且如果代码写得不够好,文档和代码不一致,注释和代码不一致,那么对维护人员来说,理解代码和进入项目组都是有困难的。如果代码写得不够好,就需要扩展功能,修改Bug时所需要花费的时间也较长。自表达代码是一种采用接近于自然语言的方式书写代码的主张。代码可读性、可扩展性、可测试性是关联代码质量的重要参考指标。《会说话的代码:书写自表达代码之道》从各个角度来分析产生劣质代码的原因,并从代码的命名、注释、风格、结构、架构等方面着手,对提高设计能力、熟悉开发环境、了解编程语言、提高英语能力等诸多方面提出了具体的改善建议。
作者简介
王洪亮从事软件开发工作12年,有丰富的架构设计经验和项目管理经验,熟知英语和日语,熟悉多种平台的开发。曾在多家国际化企业工作。致力于代码可读性、可扩展性、可变性、可测试性方面的研究。是敏捷开发的支持者和实践者,曾作为敏捷开发独立咨询师为多家企业服务,帮助企业建立相关的开发团队,并为其改进工作方式。也对测试驱动开发、演进式设计有一定经验实践。
目录
第1章 劣质代码带来的劣质体验
1.1 代码的可读性问题
1.1.1 命名类问题
1.1.2 注释类问题
1.1.3 风格类问题
1.1.4 结构类问题
1.1.5 架构类问题
1.2 代码的可测试性问题
1.3 代码的可维护性问题
1.3.1 需求变更难以应对
1.3.2 纠缠不清的Bug
第2章 劣质代码是怎么产生的
2.1 理论知识匮乏
2.2 对编程语言不熟悉
2.3 对开发环境不熟悉
2.4 对设计方法不了解
2.5 编程习惯不佳
2.6 英语能力不足
2.7 管理人员误导
第3章 自表达代码
第4章 理论知识的补充
4.1 面向对象的基础知识
4.1.1 封装
4.1.2 继承
4.1.3 多态
4.2 设计的基本原则
4.2.1 单一职责原则
4.2.2 开放封闭原则
4.2.3 里氏代换原则
4.2.4 接口分离原则
4.2.5 依赖倒置原则
4.2.6 迪米特法则
4.2.7 不要重复你自己
4.3 圈复杂度
第5章 编程环境的熟悉
5.1 保存动作与自动格式化
5.2 快速修复
5.2.1 缺少类
5.2.2 缺少方法
5.2.3 缺少变量
5.2.4 类型不匹配
5.3 重构
5.3.1 改名
5.3.2 改变方法签名
5.3.3 提取方法
5.3.4 移动
5.3.5 引入参数对象
5.3.6 引入接口
5.3.7 向上提取
5.3.8 提取常量
5.3.9 局部变量变为域变量
5.3.10 引入工厂
5.4 自动完成
5.5 大纲
5.6 Eclipse快捷键
第6章 编程语言的学习
6.1 注解
6.2 异常
6.3 反射
6.4 泛型
第7章 设计方法的学习
7.1 设计模式
7.2 依赖注入
7.3 Map的妙用
7.4 采用位掩码减少类的个数
7.5 List处理Z-Order
第8章 英文能力的提升
8.1 词性
8.2 时态
8.3 语法
8.4 否定词
8.5 成对词
8.6 近义词
8.7 前缀、扩展名
8.8 缩写
8.9 正确用词
第9章 编程习惯的改进
9.1 命名方面的改进
9.1.1 命名的基本原则
9.1.2 包的命名
9.1.3 接口的命名
9.1.4 类的命名
9.1.5 注解的命名
9.1.6 枚举的命名
9.1.7 方法的命名
9.1.8 变量
9.1.9 常量的命名
9.1.10 相似的命名
9.2 注释方面的改进
9.2.1 JavaDoc
9.2.2 TODO、FIXME和XXX
9.2.3 其他注释
9.2.4 方法的注释
9.2.5 类的注释
9.2.6 版权声明
9.3 风格方面的改进
9.3.1 缩进与对齐
9.3.2 空格与空行
9.3.3 行长与换行
9.4 结构方面的改进
9.4.1 缩短长判定
9.4.2 缩短长分支
9.4.3 减少参数个数
9.4.4 减少嵌套的层数
9.4.5 去掉重复代码
9.4.6 分离暧昧关系
9.4.7 多维度变化
9.4.8 缩短长方法
9.4.9 正则表达式
9.4.10 自相似对象
9.4.11 同质化处理
9.5 架构方面的改进
9.5.1 MVC
9.5.2 包含关系
9.5.3 继承关系
9.5.4 包的划分
9.5.5 内部类、内部接口及内部枚举
9.5.6 匿名类
9.5.7 有限取值范围
第10章 测试代码的自表达改进
10.1 测试代码的可读性
10.2 测试代码的可维护性
10.3 测试代码的可扩展性
10.4 测试语法
第11章 Lambda表达式
11.1 filter
11.2 forEach
11.3 findAny与findFirst
11.4 sorted
11.5 uniqueElements
附录
1.1 代码的可读性问题
1.1.1 命名类问题
1.1.2 注释类问题
1.1.3 风格类问题
1.1.4 结构类问题
1.1.5 架构类问题
1.2 代码的可测试性问题
1.3 代码的可维护性问题
1.3.1 需求变更难以应对
1.3.2 纠缠不清的Bug
第2章 劣质代码是怎么产生的
2.1 理论知识匮乏
2.2 对编程语言不熟悉
2.3 对开发环境不熟悉
2.4 对设计方法不了解
2.5 编程习惯不佳
2.6 英语能力不足
2.7 管理人员误导
第3章 自表达代码
第4章 理论知识的补充
4.1 面向对象的基础知识
4.1.1 封装
4.1.2 继承
4.1.3 多态
4.2 设计的基本原则
4.2.1 单一职责原则
4.2.2 开放封闭原则
4.2.3 里氏代换原则
4.2.4 接口分离原则
4.2.5 依赖倒置原则
4.2.6 迪米特法则
4.2.7 不要重复你自己
4.3 圈复杂度
第5章 编程环境的熟悉
5.1 保存动作与自动格式化
5.2 快速修复
5.2.1 缺少类
5.2.2 缺少方法
5.2.3 缺少变量
5.2.4 类型不匹配
5.3 重构
5.3.1 改名
5.3.2 改变方法签名
5.3.3 提取方法
5.3.4 移动
5.3.5 引入参数对象
5.3.6 引入接口
5.3.7 向上提取
5.3.8 提取常量
5.3.9 局部变量变为域变量
5.3.10 引入工厂
5.4 自动完成
5.5 大纲
5.6 Eclipse快捷键
第6章 编程语言的学习
6.1 注解
6.2 异常
6.3 反射
6.4 泛型
第7章 设计方法的学习
7.1 设计模式
7.2 依赖注入
7.3 Map的妙用
7.4 采用位掩码减少类的个数
7.5 List处理Z-Order
第8章 英文能力的提升
8.1 词性
8.2 时态
8.3 语法
8.4 否定词
8.5 成对词
8.6 近义词
8.7 前缀、扩展名
8.8 缩写
8.9 正确用词
第9章 编程习惯的改进
9.1 命名方面的改进
9.1.1 命名的基本原则
9.1.2 包的命名
9.1.3 接口的命名
9.1.4 类的命名
9.1.5 注解的命名
9.1.6 枚举的命名
9.1.7 方法的命名
9.1.8 变量
9.1.9 常量的命名
9.1.10 相似的命名
9.2 注释方面的改进
9.2.1 JavaDoc
9.2.2 TODO、FIXME和XXX
9.2.3 其他注释
9.2.4 方法的注释
9.2.5 类的注释
9.2.6 版权声明
9.3 风格方面的改进
9.3.1 缩进与对齐
9.3.2 空格与空行
9.3.3 行长与换行
9.4 结构方面的改进
9.4.1 缩短长判定
9.4.2 缩短长分支
9.4.3 减少参数个数
9.4.4 减少嵌套的层数
9.4.5 去掉重复代码
9.4.6 分离暧昧关系
9.4.7 多维度变化
9.4.8 缩短长方法
9.4.9 正则表达式
9.4.10 自相似对象
9.4.11 同质化处理
9.5 架构方面的改进
9.5.1 MVC
9.5.2 包含关系
9.5.3 继承关系
9.5.4 包的划分
9.5.5 内部类、内部接口及内部枚举
9.5.6 匿名类
9.5.7 有限取值范围
第10章 测试代码的自表达改进
10.1 测试代码的可读性
10.2 测试代码的可维护性
10.3 测试代码的可扩展性
10.4 测试语法
第11章 Lambda表达式
11.1 filter
11.2 forEach
11.3 findAny与findFirst
11.4 sorted
11.5 uniqueElements
附录
猜您喜欢