美文网首页Kotlin编程
说服您的管理层该用Kotlin了

说服您的管理层该用Kotlin了

作者: 可是你 | 来源:发表于2019-07-02 13:37 被阅读6次

“Kotlin很棒,我真的很想用它。但是我怎么能说服我的管理层?“这是我在谈话后被问到的最常见的问题。在这篇文章中,我解释了我们如何介绍Kotlin并展示可以增加成功机会的论据,策略和技巧。我保持手指交叉!

说服您的管理层介绍Kotlin

TL; DR

  • 解释Kotlin的优点
    • 提高生产力
    • 更少的错误
    • 有动力的开发人员
    • 提高申请人的吸引力
  • 澄清引入Kotlin的风险很低。
    • 重用有关Java生态系统的现有知识
    • Kotlin不是一门复杂的语言。
    • Kotlin易于学习 - 尤其适用于Java开发人员。没有范式转变。
    • 可逐步迁移。可以并行使用Kotlin和Java。
  • 知道有关Kotlin的有效保留。当他们出现时做好准备。但保持诚实和平衡。
    • 进一步发展取决于JetBrains
    • Eclipse和NetBeans中的支持不佳
  • 踏上门
    • 开始在具有较小代码库和较少业务影响的项目中引入Kotlin。
    • 测试套件项目或内部工具是很好的起点。
    • 管理层更有可能同意这种妥协。
    • 使用所收集的经验来争论扩展的Kotlin用法。

传播服饰中的Kotlin故事

在Spreadshirt,我们在大约2年前,即2016年8月开始介绍Kotlin。我们开始在一个测试项目中使用Kotlin。这是一个很好的起点,因为我们没有接触任何有效的代码,但仍然能够收集经验。我们对Kotlin如此热情,我们扩大了它的使用范围。之后,我们开始了第一个纯粹用Kotlin编写的服务。其他团队一点一点地开始采用Kotlin并将其用于新服务。截至今天,Kotlin已采用以下方式:

<figcaption style="box-sizing: inherit; font-style: italic;">

Spreadshirt的Kotlin适应(2018年5月)

</figcaption>

但是,大多数Kotlin服务都是中小型或内部工具。Java仍然是我们的养家糊口的人。

对我来说,有两个因素可以简化 Kotlin在Spreadshirt 的推出

  • 微服务架构:由于我们的平台由可独立部署的单元组成,因此在开始新项目时使用新技术和语言要容易得多。
  • 自组织团队:在选择技术方面,我们的团队拥有许多自由。他们自己决定,但如果某项技术在维护或操作方面表现不佳,也必须承担后果。只有一些指导方针。例如,我们通常坚持使用JVM生态系统。

总而言之,我声称今天Kotlin是Spreadshirt许多团队新服务的首选。

简而言之,这就是我们的故事。根据我们的经验,我想向您提供一些建议,策略和技巧,这些建议,策略和技巧可能会增加您在说服Kotlin的管理层或架构师方面取得成功的机会。

解释Kotlin的优点

  • 提高生产力
  • 更少的错误
    • 例如,由于不变性和可空性。
    • 这很难客观衡量,但我可以根据自己的经验来证实这一点。
  • 开发人员的动机。快乐的开发人员很有成效,不会放弃。
  • 提高申请人的吸引力。现代语言吸引熟练的开发者 我们Spreadshirt已经有申请人明确要求Kotlin

澄清引入Kotlin带来低风险

  • 重用功能强大且着名的Java生态系统。我们坚持我们心爱的JVM生态系统,可以重用我们关于Java库,框架,构建工具,工件存储库,CI,CD,IDE,监控,日志记录,JRE,测试工具,部署,配置和JIT编译器的知识。这是一个巨大的优势,不应低估。这大大缩短了学习曲线并使您高效。介绍Kotlin并不会破坏公司的技术堆栈。
  • 简单易学。
    • 特别是对Java开发人员。
    • 没有范式转变。与Java一样,Kotlin是一种面向对象的语言。它只是具有更多功能。
    • 使用Kotlin参考可以在一到两天内学习Kotlin的基础知识。这不是一个复杂的语言 - 这很棒。
  • 与Java的互操作性。
  • 可逐步迁移。您可以在项目中同时使用Kotlin和Java。
  • IntelliJ IDEA支持Brilliant IDE。

了解Kotlin的预订

首先,不要将你的管理层或怀疑同事视为你的邪恶敌人。他们通常只是想保护项目免受额外的复杂性,或者不想承诺“未知未来的炒作语言”。认真对待有效的预订并表达您的理解。尝试了解他们的意图和观点。否则,他们将保持阻止立场。诚实地对待风险和后果并提供妥协。所以是的,这也是关于心理学的。

话虽如此,让我们从两个最重要的预订开始,进行一些典型的预订。

Kotlin的不确定的未来

“Kotlin只是下一个大肆宣传的JVM语言”

“Kotlin的进一步发展取决于JetBrains”

好点子。JetBrains不是一家小公司(700名员工),他们很健康,但绝对不是甲骨文,微软或谷歌。这是一个有效而严肃的论点。至少,您可以提出以下异议:

  • Kotlin根据开源许可证Apache 2获得许可。它不是专有的,可以在没有JetBrains的情况下开发 - 至少在理论上是这样。
  • Google承诺将Kotlin作为Android开发的官方语言(在Google I / O 2017上宣布)。例如,他们正在开发专用的Kotlin API(如Android KTX)。
  • Java生态系统包含Kotlin。
  • 谷歌搜索趋势显然显示出对Kotlin的兴趣稳定增长

● Kotlin ● Scala ● Groovy ● Clojure

Google搜索趋势中对Kotlin的兴趣不断增加

<figcaption style="box-sizing: inherit; font-style: italic;">

Google搜索趋势中对Kotlin的兴趣不断增加

</figcaption>

总而言之,Kotlin肯定会留下来。

IntelliJ IDEA作为固定IDE

“我想坚持使用Eclipse。”

“我们必须使用IntelliJ IDEA。”

是的,这是真的。您必须使用IntelliJ IDEA。其他IDE中的Kotlin支持很差,期间。在Eclipse或NetBeans中使用Kotlin并不是很有趣。是的,有一个由JetBrains开发的官方Eclipse插件。但对我来说,它几乎无法使用。老实说:你可以想象JetBrains有兴趣在他们自己的商业产品旁边提供一个完全成熟的Kotlin工具。销售许可证是开发Kotlin的主要动机。

关于“最佳”IDE的讨论在Java社区中具有情感性和近乎宗教性。每个营地都有狂热者和狂热者(包括我)。因此,如果您的团队由已确认的Eclipse用户组成,说服他们将非常困难。老实说,我相信这几乎是不可能的。不幸的是,这可能会成为引入Kotlin的重要阻力。即使在Spreadshirt,由于这个原因,一支球队拒绝了Kotlin。

至少,请记住,IntelliJ IDEA 的社区版已经包含Kotlin工具。因此无需购买许可证。顺便说一下:我使用社区版很长一段时间,效果很好!我什么都没错过。

需要培训

“每个开发人员都必须学习一门新的编程语言。”

是的,根据您的团队结构,这可能是真的。但是,通过指出Kotlin的优势,可以很容易地调整这个论点。让我们回顾一下:

  • Kotlin很容易学习。学习基础知识需要一到两天的时间。之后,它正在边做边学。
  • 重用有关Java生态系统的现有知识。
  • Kotlin与Java类似。
  • Kotlin不是一门复杂的语言。
  • 没有范式转变。
  • 学习一门新语言对于开发人员来说非常有趣并且是一种巨大的动力

踏上门:从小处着手,收集自己的经验

网络充满了Kotlin提供的无穷无尽的优势 - 就像我的上面一样。这几乎听起来像救赎的承诺。最有可能的是,第三人的这些说法不会说服你的管理层或建筑师。成功的关键是与Kotlin一起收集自己的经验。有了这些经验,你就更可信了,可以更好地争辩:

“嘿管理层,我们尝试过Kotlin,并且经历了具体的优势。我们可以使用数据类和表达式显着减少样板。此外,我们还认为由于不变性和零安全性而不太可能引入错误。最后,这很有趣!迫不及待明天上班!“

具体经验具有说服力。但是,如果我们不允许首先使用Kotlin,你怎么能收集这些经验呢?简单地重新编写现有服务而不具备具体的商业利益将无法销售。我建议妥协。一些选择:

  • 在测试项目中开始使用Kotlin。所以你没有触及任何高效的代码。Kotlin代码不会对业务产生直接影响。因此影响相对较小,代码库和复杂性具有可管理的大小。在Spreadshirt,我们采用了这种方法,效果非常好。
  • 内部工具也是一个很好的选择。
  • 在同一个项目中将Kotlin与Java并行使用。您只使用Kotlin获取新功能,并保持现有Java代码不变。由于Kotlin与Java很好地协同工作,这是可能的。但是请注意,您现在将强制此项目的所有开发人员学习Kotlin并使用IntelliJ IDEA。此外,对于在同一项目中使用多种语言也有一定的保留意见,因为它增加了项目的复杂性。这就是为什么我声称这种方法可能难以出售。

称之为“实验”。这也可能会提高接受度。所以管理层仍然觉得这个决定每次都是可逆的。事实上,这是事实。但至少,你走进了门。在您开始使用它之后,扩展Kotlin的用法要容易得多。

你的故事很重要

我真的对你在公司介绍Kotlin的故事感兴趣。或者,如果你尝试过,你无法说服管理层或你的开发人员。在这两种情况下,请发表评论。

原文链接:https://qinyufen.com/2019/07/02/%e8%af%b4%e6%9c%8d%e6%82%a8%e7%9a%84%e7%ae%a1%e7%90%86%e5%b1%82%e8%af%a5%e7%94%a8kotlin%e4%ba%86/

相关文章

  • 说服您的管理层该用Kotlin了

    “Kotlin很棒,我真的很想用它。但是我怎么能说服我的管理层?“这是我在谈话后被问到的最常见的问题。在这篇文章中...

  • 公司人——奇葩

    有这样一位非管理层的同事,天生信心满满、唯我独尊的态势,气压身边的非管理层的同事,这究竟该用什么成语来形容才好呢?...

  • Kotlin 快速创建您的第一个应用(二)

    Kotlin 快速创建您的第一个应用(二) 上一次对Kotlin进行的大致的介绍kotlin 新的征程(一) 那么...

  • 优先使用 KTX 库 | MAD Skills

    在 Kotlin 中使用 Android 的 Java API 时,您会迅速意识到这样的做法失去了 Kotlin ...

  • 什么是 Kotlin 中的尾随 Lambda 和逗号?

    尾随 lambda 和尾随逗号是 Kotlin 的 2 个重要特性,如果您是 Kotlin 新手,您必须知道! 尾...

  • 父亲的孤独

    我该用多长的笔才能蘸满岁月,去描绘您容颜的转变;我该用多少的言语,才能铺就成一条思乡的小路,去诉说您白发苍苍的故事...

  • 教练,我回来看你了!

    我一直在想,题目中是应该用“你”字,还是该用“您”字呢。“您”字更突出队员对教练的尊重,但同时我总觉得它不能完全代...

  • [Android]Kotlin的集合函数

    前言 如果您正在阅读此博客,那么我们很确定您已经完全转向 Kotlin 进行 Android 开发,或者您计划很快...

  • Kotlin 基本数据类型(三)

    Kotlin 基本数据类型(三) 上一次大家学会了创建你的第一个Kotlin应用 Kotlin 快速创建您的第一个...

  • 如何在 Java 和 Kotlin 之间进行互操作 | Andr

    Kotlin 超好用,您也许想用 Kotlin 写所有的东西,但那些现有的 Java 语言代码该怎么办呢?或者您需...

网友评论

    本文标题:说服您的管理层该用Kotlin了

    本文链接:https://www.haomeiwen.com/subject/vfyzcctx.html