书籍详情
Agile Java中文版:测试驱动开发的编程技术
作者:(美)Jeff Langr(杰夫兰格) 涂波 孙勇译
出版社:电子工业出版社
出版时间:2006-06-01
ISBN:9787121027048
定价:¥69.00
购买这本书可以去
内容简介
《Agile Java中文版:测试驱动开发的编程技术》将三者编织在一起,形成一种旨在构建专业、健壮的软件系统的统一连贯的方法。Jeff Langr向你展示如何把Java和TDD结合在一起,并且贯穿整个开发周期:帮助你从一开始就借助当前最快最有效的开发技术。掌握Java 5.0,面向对象设计和测试驱动开发。Langr的这《Agile Java中文版:测试驱动开发的编程技术》是写给每一位程序员,甚至包括对Java、面向对象开发或敏捷方法几乎没有经验的程序员的。他向我们展示如何把口头需求转变成实际的,然后如何利用这些测试创建可靠的、高性能的、Java代码,从而解决实际问题。《Agile Java中文版:测试驱动开发的编程技术》不仅是教授Java语言的核心特性,而且提供这些特性的测试代码例子。以TDD为中心的方法不仅带来更好的代码,而且提供有效的反馈,可以帮助你更快地掌握Java。较之传统的教学技巧,TDD方法是一个划时代的开始。
作者简介
Jeff Langr有着超过二十年的开发经验。现在,他通过自己的公司——Langr Software Solution(www.LangrSoft.com)提供软件开发、设计,以及敏捷过程方面的咨询。Langr在Object Mento为Uncle Bob Martin了作过两年。Larigr是Essential,Java Style(Prentice Hall PTR,1999)的作者,并且在Software Development、C/C++Users Journal,以及其他各种在线杂志和门户上发表了很多关于Java和TDD的文章。
目录
关于作者
前言
致谢
引言
“敏捷”综述
搭建环境
第1章起步
测试
设计
一个简单的测试
JUnit
增加一个测试
创建Student对象
创建Student类
构造函数
局部变量
从方法返回一个值
断言
实例变量
总结这个测试
重构
this
private
命名约定
空白区域
练习
第2章Java基础
课程安排
学生注册
int
初始化
默认构造函数
测试套件
SDK和javautilArrayList
增加对象
渐增重构
内存中的对象
包和impo~语句
java1ang包
默认包和package语句
setUp方法
更多的重构
类常量
Dates
重载构造函数
不赞成警告
重构
用Calendar创建日期
注释
Javadoc注释
练习
第3章字符串和包
字符和字符串
字符串
StringBuilder
系统属性
遍历所有的学生
单职责原则
重构
System.out
使用Systemout
重构
包结构
访问修饰符
使用Ant
练习
第4章类方法和类变量
类方法
类变量
使用类方法操作类变量
静态导入
增量
工厂方法
简单设计
静态的危险
使用静态所需要注意的
Jeff静态规则
布尔型
测试就是文档
关于初始化的更多内容
异常
再看基本类型的初始化
练爿
第5章接口和多态
排序:准备1:作
排序:Collectionssort
CourseReportTest
接口
为什么需要接口
实现Comparable
根据学科和编号进行排序
If语句一
学生的成绩
浮点数
测试成绩
重构
枚举
多态
使用接口引用一
ArrayList和List接口
练习
第6章继承
switch语句
Case标记只是标记
Map
继承
抽象类
方法扩展
重构
增强的枚举Grade
夏季课程安排
调用基类的构造函数
重构
深入构造函数
继承和多态
子合约原则
练习
第7章遗留元素
循环结构
分解学生全名
比较Java循环
重构
循环控制语句
三元操作符
遗留的集合类
迭代器
迭代器和for-each循环
类犁转换
包装类
数组
重构
练习
第8章异常和日志
异常
异常处理
检查异常
异常层次关系
创建自己的异常类型
检查异常和非检查异常
消息
捕获多个异常一
重新抛出异常
堆栈跟踪
finally块
重构
日志
Java中的日志
测试日志
将日志定向到文件
日志的测试哲学
更多关于FileHandler
日志等级
日志层次结构
日志补充说明
练习
第9章Map和相等性
逻辑操作符
短路
哈希表
课程
重构Session
相等性
相等性的定义
苹果和橙子
hashCode最后一个要点
吏多天于HashMap
其它哈希表和Set实现
toString
字符串和相等性
练习
第10章数学
BigDecimal
更多关于基本数字类型
整数运算
数字类型转换
运算优先级
NaN(Not a Number)
无穷人
数亨溢
位操作
java1angMath
数7包装类
随机数
练习
第11章 lO(输入/输出)
组织
字符流
写入文件
javaioFile
字节流与转换
学生用户界面
测试应用
数据流
CourseCatelog
高级流
对象流
随机存取文件
学生字典
sisdbDataFileTest
静态内嵌(statick nested)类和内联(inner)类
sisdbDataFile一
sisdbKeyFileTest
sisdbKeyFile
sisutilIOUtilTest
sisutilIOUtil
sisutilTestUtil
方案的改进
练习
第12章反射及其他高级主题
再顾Mock对象
Jim Bob ACH接口
Mock类
Account类的实现
匿名内联类
适配器(Adapter)
访问外围类中的变晕
折衷
反射(Refelection)
使用JUnit代码
Class类
建立测试套件
类修饰符
动态代理
安全帐号类
建立安全帐号方案
SecureProxy类
反射的问题
练习
第13章多线程
多线程
搜索(Search)服务器
Search类
更少依赖的测试
服务器
测试中的等待
创建并运行线程
合作式协作式(cooperative)与可抢占的(preemptive)多任务
同步
使用Runnable创建线程
synchronized
同步的集合类
BlockingQueue
停止线程
Wait/Notify
wait和notl‘fy的补充注意事项
锁与条件
线程优先级
死锁
ThreadLocal
Timer类
Thread的杂项
总结:同步的基本设计原则
练习
第14章范型
参数化类型
集合框架(Collection Framework)
多类型参数
创建参数化类型
擦拭法
上限(Upper Bound)
通配符(Wildcard)
使用通配符的隐含问题(Implication)
范型方法
通配符捕获(Wildcard Capture)
Super
附加限界
原始类型(Raw Type)
Checked集合
数组(Array)
额外的局限
反射
最后的注意事项
练习
第15章断言与注解
断言
assert语句vsJUnit的Assert方法
注解(Annotation)
建立一个测试工具
TestRunnerTest
TestRunner
@TestMethod注解
保留(Retention)
注解的目标(Annotation Tagets)
跳过测试方法
修改TestRunner
单值(Single-Value)注解
TestRunner的用户界面类
数组参数
多个参数的注解
缺省值
附加返回类型与复式注解类型
包注解
兼容性考虑
关于注解的额外注意事项
总结
练习
附加课I Swing,第一部分
Swing
起步
Swing应用的设计
面板(Panel)
重构(Refactory)
更多的控件
重构(Refactory)
按钮点击与ActionListener
列表Model
应用
布局
继续前进
附加课II Swing,第二部分
界面美化的杂项
体验(feel)一
表格(Table)
反馈(Feedback)
响应性(Responsiveness)
余下的任务
最后的注意事项
附加课ⅢJava的杂项
JAR
正则表达式
克隆(Cloning)与协变(Covariance)一
JDBC
国际化(Internationalization)
按引用调用vs按值调用
Java的边缘地带
还有哪些内容
附录A敏捷Java的术语表
附录B Java操作符的优先规则
附录C IDEA入门
IDEA
Hello项目
运行测试
利用IDEA的优势
Agile Java References
索引
前言
致谢
引言
“敏捷”综述
搭建环境
第1章起步
测试
设计
一个简单的测试
JUnit
增加一个测试
创建Student对象
创建Student类
构造函数
局部变量
从方法返回一个值
断言
实例变量
总结这个测试
重构
this
private
命名约定
空白区域
练习
第2章Java基础
课程安排
学生注册
int
初始化
默认构造函数
测试套件
SDK和javautilArrayList
增加对象
渐增重构
内存中的对象
包和impo~语句
java1ang包
默认包和package语句
setUp方法
更多的重构
类常量
Dates
重载构造函数
不赞成警告
重构
用Calendar创建日期
注释
Javadoc注释
练习
第3章字符串和包
字符和字符串
字符串
StringBuilder
系统属性
遍历所有的学生
单职责原则
重构
System.out
使用Systemout
重构
包结构
访问修饰符
使用Ant
练习
第4章类方法和类变量
类方法
类变量
使用类方法操作类变量
静态导入
增量
工厂方法
简单设计
静态的危险
使用静态所需要注意的
Jeff静态规则
布尔型
测试就是文档
关于初始化的更多内容
异常
再看基本类型的初始化
练爿
第5章接口和多态
排序:准备1:作
排序:Collectionssort
CourseReportTest
接口
为什么需要接口
实现Comparable
根据学科和编号进行排序
If语句一
学生的成绩
浮点数
测试成绩
重构
枚举
多态
使用接口引用一
ArrayList和List接口
练习
第6章继承
switch语句
Case标记只是标记
Map
继承
抽象类
方法扩展
重构
增强的枚举Grade
夏季课程安排
调用基类的构造函数
重构
深入构造函数
继承和多态
子合约原则
练习
第7章遗留元素
循环结构
分解学生全名
比较Java循环
重构
循环控制语句
三元操作符
遗留的集合类
迭代器
迭代器和for-each循环
类犁转换
包装类
数组
重构
练习
第8章异常和日志
异常
异常处理
检查异常
异常层次关系
创建自己的异常类型
检查异常和非检查异常
消息
捕获多个异常一
重新抛出异常
堆栈跟踪
finally块
重构
日志
Java中的日志
测试日志
将日志定向到文件
日志的测试哲学
更多关于FileHandler
日志等级
日志层次结构
日志补充说明
练习
第9章Map和相等性
逻辑操作符
短路
哈希表
课程
重构Session
相等性
相等性的定义
苹果和橙子
hashCode最后一个要点
吏多天于HashMap
其它哈希表和Set实现
toString
字符串和相等性
练习
第10章数学
BigDecimal
更多关于基本数字类型
整数运算
数字类型转换
运算优先级
NaN(Not a Number)
无穷人
数亨溢
位操作
java1angMath
数7包装类
随机数
练习
第11章 lO(输入/输出)
组织
字符流
写入文件
javaioFile
字节流与转换
学生用户界面
测试应用
数据流
CourseCatelog
高级流
对象流
随机存取文件
学生字典
sisdbDataFileTest
静态内嵌(statick nested)类和内联(inner)类
sisdbDataFile一
sisdbKeyFileTest
sisdbKeyFile
sisutilIOUtilTest
sisutilIOUtil
sisutilTestUtil
方案的改进
练习
第12章反射及其他高级主题
再顾Mock对象
Jim Bob ACH接口
Mock类
Account类的实现
匿名内联类
适配器(Adapter)
访问外围类中的变晕
折衷
反射(Refelection)
使用JUnit代码
Class类
建立测试套件
类修饰符
动态代理
安全帐号类
建立安全帐号方案
SecureProxy类
反射的问题
练习
第13章多线程
多线程
搜索(Search)服务器
Search类
更少依赖的测试
服务器
测试中的等待
创建并运行线程
合作式协作式(cooperative)与可抢占的(preemptive)多任务
同步
使用Runnable创建线程
synchronized
同步的集合类
BlockingQueue
停止线程
Wait/Notify
wait和notl‘fy的补充注意事项
锁与条件
线程优先级
死锁
ThreadLocal
Timer类
Thread的杂项
总结:同步的基本设计原则
练习
第14章范型
参数化类型
集合框架(Collection Framework)
多类型参数
创建参数化类型
擦拭法
上限(Upper Bound)
通配符(Wildcard)
使用通配符的隐含问题(Implication)
范型方法
通配符捕获(Wildcard Capture)
Super
附加限界
原始类型(Raw Type)
Checked集合
数组(Array)
额外的局限
反射
最后的注意事项
练习
第15章断言与注解
断言
assert语句vsJUnit的Assert方法
注解(Annotation)
建立一个测试工具
TestRunnerTest
TestRunner
@TestMethod注解
保留(Retention)
注解的目标(Annotation Tagets)
跳过测试方法
修改TestRunner
单值(Single-Value)注解
TestRunner的用户界面类
数组参数
多个参数的注解
缺省值
附加返回类型与复式注解类型
包注解
兼容性考虑
关于注解的额外注意事项
总结
练习
附加课I Swing,第一部分
Swing
起步
Swing应用的设计
面板(Panel)
重构(Refactory)
更多的控件
重构(Refactory)
按钮点击与ActionListener
列表Model
应用
布局
继续前进
附加课II Swing,第二部分
界面美化的杂项
体验(feel)一
表格(Table)
反馈(Feedback)
响应性(Responsiveness)
余下的任务
最后的注意事项
附加课ⅢJava的杂项
JAR
正则表达式
克隆(Cloning)与协变(Covariance)一
JDBC
国际化(Internationalization)
按引用调用vs按值调用
Java的边缘地带
还有哪些内容
附录A敏捷Java的术语表
附录B Java操作符的优先规则
附录C IDEA入门
IDEA
Hello项目
运行测试
利用IDEA的优势
Agile Java References
索引
猜您喜欢