展开全部

主编推荐语

带你逐步掌握将Java代码重构为Kotlin代码。

内容简介

本书讲述了如何从Java过渡到Kotlin,主要关注代码,每章都阐述了从Java过渡到Kotlin的一个方面,考察了典型Java项目在这个过程中可以改进的方面。比如,从Optional到nullable,从Bean到值,从开放类到密封类。

每章首先解释关键概念,然后展示如何在保持互操作性的前提下,逐步且安全地将生产型Java代码重构为惯用的Kotlin代码,由此产生的代码更简单、更有表现力,也更容易修改。在本书结束时,你将有信心将Java代码重构为Kotlin代码,从头开始编写Kotlin代码,并随着时间的推移管理一个混合语言代码库。

目录

  • 版权信息
  • O’Reilly Media, Inc.介绍
  • 本书赞誉
  • 推荐序
  • 译者序
  • 前言
  • 第1章 引言
  • 1.1 编程语言的“纹理”
  • 1.2 Java编程风格的主观历史
  • 1.2.1 原始风格
  • 1.2.2 Bean风格
  • 1.2.3 企业风格
  • 1.2.4 现代风格
  • 1.2.5 未来
  • 1.3 Kotlin的“纹理”
  • 1.4 重构为Kotlin
  • 1.4.1 重构的原则
  • 1.4.2 良好的测试覆盖率是前提
  • 1.4.3 提交时考虑git bisect
  • 1.5 我们要做什么
  • 1.6 启程
  • 第2章 从Java项目到Kotlin项目
  • 2.1 策略
  • 2.2 在Java构建中添加对Kotlin的支持
  • 2.3 继续前进
  • 第3章 从Java类到Kotlin类
  • 3.1 一个简单的值类型
  • 3.2 数据类的局限性
  • 3.3 继续前进
  • 第4章 从Optional到nullable
  • 4.1 表示缺失
  • 4.2 从Optional重构为nullable
  • 4.3 重构为惯用的Kotlin代码
  • 4.4 继续前进
  • 第5章 从Bean到值
  • 5.1 Bean
  • 5.2 值
  • 5.3 为什么值类型更受欢迎
  • 5.4 将Bean重构为值
  • 5.5 继续前进
  • 第6章 从Java集合到Kotlin集合
  • 6.1 Java集合
  • 6.2 Kotlin集合
  • 6.3 将Java集合重构为Kotlin集合
  • 6.3.1 修复Java
  • 6.3.2 转换为Kotlin
  • 6.4 继续前进
  • 第7章 从action到calculation
  • 7.1 函数
  • 7.2 calculation
  • 7.3 action
  • 7.4 为什么要关注action和calculation
  • 7.5 为什么选择calculation
  • 7.6 将action重构为calculation
  • 7.6.1 现有代码
  • 7.6.2 更好的设计
  • 7.6.3 残局
  • 7.7 继续前进
  • 第8章 从静态方法到顶层函数
  • 8.1 Java中的静态方法
  • 8.2 Kotlin顶层函数、对象和伴生对象
  • 8.3 将静态方法重构为顶层函数
  • 8.4 移到顶层
  • 8.5 Kotlin化
  • 8.6 继续前进
  • 第9章 从多表达式函数到单表达式函数
  • 9.1 第1种方式:内联
  • 9.2 第2种方式:引入函数
  • 9.3 第3种方式:使用let块
  • 9.4 第4种方式:后退一步
  • 9.5 继续前进
  • 第10章 从函数到扩展函数
  • 10.1 函数和方法
  • 10.2 扩展函数
  • 10.3 扩展和函数类型
  • 10.4 扩展属性
  • 10.5 类型转换
  • 10.6 可空参数
  • 10.7 可空接收器
  • 10.8 泛型
  • 10.9 作为方法的扩展函数
  • 10.10 重构为扩展函数
  • 10.11 继续前进
  • 第11章 从方法到属性
  • 11.1 字段、访问器和属性
  • 11.2 如何选择
  • 11.3 可变属性
  • 11.4 重构为属性
  • 11.5 继续前进
  • 第12章 从函数到运算符
  • 12.1 基础类:Money
  • 12.2 添加用户定义的运算符
  • 12.3 从现有Kotlin代码中调用运算符
  • 12.4 现有Java类的运算符
  • 12.5 表示值的约定
  • 12.6 继续前进
  • 第13章 从流到可迭代对象再到序列
  • 13.1 Java流
  • 13.2 Kotlin可迭代对象
  • 13.3 Kotlin序列
  • 13.4 多重迭代
  • 13.5 在流、可迭代对象和序列之间进行选择
  • 13.6 代数变换
  • 13.7 将流重构为可迭代对象和序列
  • 13.7.1 重构为可迭代对象
  • 13.7.2 重构为序列
  • 13.7.3 提取管道的一部分
  • 13.7.4 整理
  • 13.8 继续前进
  • 第14章 从可累积对象到转换对象
  • 14.1 使用累加器进行参数计算
  • 14.2 重构为基于不可变数据的函数
  • 14.3 再来一次
  • 14.4 丰富所发现的抽象
  • 14.5 继续前进
  • 第15章 从封装集合到类型别名
  • 15.1 组合领域集合
  • 15.2 具有其他属性的集合
  • 15.3 重构封装集合
  • 15.3.1 将操作转换为扩展函数
  • 15.3.2 替换类型别名
  • 15.3.3 重构具有其他属性的集合
  • 15.4 继续前进
  • 第16章 从接口到函数
  • 16.1 面向对象的封装
  • 16.2 函数式封装
  • 16.3 Java中的函数类型
  • 16.4 混合和匹配
  • 16.5 面向对象和函数式的对比
  • 16.6 耦合
  • 16.7 面向对象还是函数式
  • 16.8 Java的遗留问题
  • 16.9 可追溯性
  • 16.10 将接口重构为函数
  • 16.11 继续前进
  • 第17章 从Mock到Map
  • 17.1 用Map替代Mock
  • 17.2 我们真的摆脱了Mock吗
  • 17.3 继续前进
  • 第18章 从开放类到密封类
  • 18.1 多态性还是密封类
  • 18.2 将接口转换为密封类
  • 18.3 继续前进
  • 第19章 从Throwing到Returning
  • 19.1 异常前的错误处理
  • 19.2 异常的错误处理
  • 19.3 Java和受检异常
  • 19.4 Kotlin和异常
  • 19.5 超越异常:函数式错误处理
  • 19.6 Kotlin中的错误处理
  • 19.7 将异常重构为错误
  • 19.7.1 转换策略
  • 19.7.2 从底部开始
  • 19.7.3 契约
  • 19.7.4 走出去
  • 19.8 更多修复
  • 19.9 层级
  • 19.10 继续前进
  • 第20章 从执行I/O操作到传递数据
  • 20.1 监听测试
  • 20.2 从I/O到数据
  • 20.3 高效写入
  • 20.4 高效读取
  • 20.5 继续前进
  • 第21章 从异常到值
  • 21.1 识别可能出错的地方
  • 21.2 表示错误
  • 21.3 I/O错误
  • 21.4 继续前进
  • 第22章 从类到函数
  • 22.1 验收测试
  • 22.2 单元测试
  • 22.3 标题
  • 22.4 不同的字段分隔符
  • 22.5 序列
  • 22.6 从文件中读取
  • 22.7 与Commons CSV比较
  • 22.8 继续前进
  • 第23章 继续旅程
  • 23.1 纹理
  • 23.2 函数式思维
  • 23.3 简单设计
  • 23.4 函数式编程和文本推理
  • 23.5 重构
  • 23.6 重构和函数式思维
  • 参考文献
  • 关于作者
  • 关于封面
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

机械工业出版社

机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。