第 10 章 下一步该怎么办-Java 8函数式编程-万书网
首页

第 10 章 下一步该怎么办

关灯 护眼    字体:

上一章 目录 下一章

    Java作为一门语言,在很多方面都经受住了时间的考验。它仍然是非常受欢迎的平台,选用Java开发企业级应用是个不错的选择。人们开发了大量的开源类库和框架,解决各种各样的问题:从编写模块化且复杂的网络应用(Spring框架)到正确地计算日期和时间(Jodatime类库)。开发工具更是无可比拟,集成开发环境有Eclipse和Intellij,构建系统有Gradle和Maven。

    问题在于,多年来,Java没有紧跟时代向前演进,落得个保守的坏名声。之所以如此,部分原因也在于它流行的时间太长;亲不尊,熟生蔑,它太为人所熟悉反而容易被轻慢。当然,Java的发展也的确存在问题。保持向后兼容的决策,尽管有所裨益,却太过复杂。

    所幸,Java 8的出现是一个积极的信号,它不仅是对语言本身的一小步改善,也是在Java开发方面迈出的一大步。和Java 6、Java 7不同,Java 8不再是一些无足轻重的对类库的改良,以后的版本也该沿袭Java 8的传统,大踏步前进。不仅因为我喜欢写这一主题的书,也因为在提高编程的基本任务方面还有很长的路要走:如何把程序写得易读?如何明确地表明程序的意图?如何让高性能程序易于编写?唯一的遗憾在于这概括性的一章篇幅太短,很难完整描述出后续版本的潜力。

    本书已接近尾声,但希望读者学习和使用Java 8的脚步不会停留在此。本书描述了各种使用Lambda表达式的方式:更好的集合类代码、数据并行处理、更简洁干净的代码、并发。书中阐释了为什么使用Lambda表达式、Lambda表达式是什么,以及怎么用Lambda表达式,但一切还在于读者如何真正将其应用于实践。本着这种精神,这里给出一些开放性的练习,没有标准答案,理解这些问题能够指导读者接下来的学习过程。

    向其他程序员(朋友或同事)解释什么是Lambda表达式,为什么会对它产生兴趣。

    尝试将目前从事的项目部署到Java 8环境下。如果现有单元测试已经能运行在持续集成系统Jenkins下,那么在多个版本的Java上构建程序也易如反掌。

    使用新的Stream和Collector,开始重构真实产品中的遗留代码。它既可以是感兴趣的开放源码项目,也可以是当前从事的项目,前提是第一步里已经部署成功一个测试环境。如果还没准备好大规模迁往Java 8,那么在分支上使用Java 8做一些原型会是个不错的开始。

    有没有一些大规模处理数据的代码?或者代码中存在并发问题?试着使用Stream处理数据,或使用RxJava中新的并发特性,也可以使用CompletableFuture类,来重构你的代码。

    选择一个熟悉的代码库,分析它的设计和架构。

    从宏观上看,有没有更好的实现方法?

    能否简化设计?

    能否减少实现某功能所需的代码量?

    怎样让代码更易读?

    看完

上一章 目录 下一章