Effective Kotlin 中文版

Posted RikkaTheWorld

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Effective Kotlin 中文版相关的知识,希望对你有一定的参考价值。

0. 中文版电子书地址:在线阅读器!!!

求大佬们的Star~~~ Github传送门

1. 这段时间做了什么

前两个月,我买了一本 《Effective Java》 ,读了一半后发现,我现在使用的语言是 Kotlin,不是 Java!虽然它提供了很多有用的开发知识,但那都是基于 Java 的,我最终还是得将其“翻译” 到 Kotlin 语言上,属实难绷。

于是,我就想:那有没有 《Effectvie Kotlin》 呢? 我搜了一下,发现确实有,但是它没有实体书,它甚至都没有中文版!


如上图:《Effective Kotlin》电子版

最终我做了一个决定: 将其翻译成中文,并传播到社区,让更多的 Kotlin 中文社区开发者都能看到这本书!

在接下来的两个月中,我主要借助电子词典(还有女朋友帮助)进行翻译,翻译完后,还是挺有成就感的,但是感觉质量嘛,可能并不是最好的。

本人翻译水平有限,文笔只能说还停留在高考那种写八股文的状态中。 难免出现语句不通顺、翻译错误的地方。但是毕竟我是用gitbook 写的,可以随时改。所以欢迎大家提出建议和批评,在下立马更改,感激不尽~~

2. 这本书的内容

《Effective Kotlin》 一书,和其他的 《Effective X》系列书籍一样:

  1. 不是一本语言入门书,而是一本 “进阶” + “工具” 定位的书
  2. 整体的深度不会很深,但是会很广
  3. 从工程、实践的角度出发,列出很多条目,每一条都和日常开发紧紧相关

所以该书可以不用一口气读完。甚至不用每天都看。它完全可以当成工具书,当你编程时,如果在某一个环节上被困扰住了,你就可以打开该书,然后看看里面的指导,从而想办法解决你当前的问题。

该书的目录为:

  • 第一部分:良好的代码
    • 第一章: 安全性
    • 第二章: 可读性
  • 第二部分:良好的设计
    • 第三章: 可重用性
    • 第四章: 设计抽象
    • 第五章: 对象的创建
    • 第六章: 类的设计
  • 第三部分: 性能
    • 第七章:让开发成本更低
    • 第八章:高效的集合处理

3. 有什么帮助

《Effective Kotlin》 的特色技术背景和必要性,在这本书的前言中已经阐述,大家有时间可以去看下。

我这里讲一下比较直观的看法:

  1. 对于从 Java 转 Kotlin 的程序员来说,这是一个摒弃 Java 老旧编程模式的好时机。因为 Java 实在是太旧了,这并不是说它难用,而是在你看到那些能让你拥有更好编程风格的语言后,你就会觉得 Java 就是一个旧时代的语言!
    举个例子,一个 Java 程序和 Python 、JS 程序员在一起聊天,他可能对“函数式编程”这玩意一脸懵逼,完全插不上话,因为 Java 本身就不是为函数式编程而设计的语言。而在讨论 “面向对象编程”时,Java 编程者反而会因为使用像建造者模式这种落后的设计模式,而被其他语言的开发者嘲笑。归根结底,新时代的语言都是在 Java 的缺陷上进行改进而诞生出来的, Java 开发者不该固守阵地,而是应该的向“全新的世界”迈出一步,去看看别的语言是如何处理程序的
  2. 同上,在 Kotlin 上,它解决了很多 Java 的痛点。 所以你完全不用在使用 Kotlin 时,把原有 Java 那一套翻译到这上面来,这是完全有问题的。 例如, Kotlin 有空安全、扩展函数、属性委托、随时自定义DSL,对于 android 来说,美观度和便利程度远超 Java,所以你完全没有必要将 Java “翻译”到 Kotlin 上来

以上是关于Effective Kotlin 中文版的主要内容,如果未能解决你的问题,请参考以下文章

《Effective Java 中文版 第2版》学习笔记 第5条:避免创建不必要的对象

Effective Java —— 避免创建不必要的对象

Effective Java 第五条:避免创建不必要的对象

读书笔记 - Effective Java05. 避免创建不必要的对象

Java:Effective java学习笔记之 避免创建不必要的对象

[Effective JavaScript 笔记]第56条:避免不必要的状态