Java 工程师可以采用多种策略来与技术保持同步,最自然的方法之一是开发框架和库。通过开发框架和库,他们经常发现自己处于以下两种情况之一:
1.他们代码中的任何重大更改都会破坏他们客户的应用程序。因此,他们很难发布额外的功能。 他们的大多数版本仅包含较小的错误修复。
2.尽管他们经常发布包含额外功能的版本,但他们的客户从不升级。升级到最新版本会花费太多精力,而客户没有时间。
如果你发现自己处于其中一种情况,你需要了解维持出色框架和库的 3 条原则。在你的 API 中应用这些原则将使你走上与时俱进的道路。
原则 1:让你的客户快速开始
当你尝试一个新的框架或库时,你会怎么做?
在开始编码之前,你是否阅读了整个文档来学习理论? 或者你只是找到一个简单的用例,然后进行更改和实验?大多数开发人员更喜欢第二种选择。 他们不想阅读太多文档。 他们只是想完成他们的事情。
管理人员希望缩短上市时间,他们希望他们的软件在尽可能短的时间内投入生产。为此,请通过快速查看类和方法来创建易于理解的 API。尽量让它们简单,并给它们起有意义的名字。除此之外,还要在文档中添加用例,大多数流行的框架都有这样的指南。
通过访问用例,开发人员可以找到他需要的并对其进行调整。通常,这就是他完成工作所需要的一切。
原则 2:让你的产品与市场趋势保持同步
开发人员希望使用最酷的技术并与其他开发人员分享他们的知识,这很重要,因为人们需要了解你的产品,否则没有人会使用它。
那么,是什么让框架或库很酷呢? 除了易于上手(原则 1)之外,它还必须是现代的并且与市场趋势保持同步,并以一致的方式发布附加功能。如果你这样做了,你也将与新的东西保持同步,这就是为什么你需要知道第三个也是最重要的原则。
原则 3:让你的客户轻松升级
总拥有成本 (TCO) 是客户为产品支付的价格,加上他为保持产品正常运行而支付的价格。这很重要,因为它与前面的两个原则有关。它与原则 1 相关,因为客户总是希望尽可能省钱,他们不想花太多钱来启动和运行他们的应用程序。它还与原则 2 相关,因为你的产品必须很酷。在某些时候,你的客户将需要你发布的附加功能。
但仅仅酷是不够的。它还必须向后兼容。否则,客户在升级时将需要更改他们的应用程序,这将花费时间和金钱。保持向后兼容性对于持久的产品至关重要。一旦你的客户使用你的 API,你就无法再更改它们。这就是为什么你需要仔细设计它们。以一种允许你在不破坏客户应用程序的情况下发展的方式进行。
你是怎样做的?定义特定的用例,如原则 1 所述,你的 API 的早期版本不应该太灵活。灵活性与具有向后兼容性的演进成反比。所以从僵化开始,然后升级灵活性。此外,尽可能使用 final 方法和类。
你还应该创建高内聚和低耦合的工件。请记住,工件越分散,更改它就越困难。
为了保持向后兼容性,我能给你的最重要的提示是封装内部。将所有内容设为私有并仅公开客户需要使用的基本类和方法。除了降低复杂性之外,这还允许你在不破坏兼容性的情况下进行更改。
能够在你的 API 中应用优秀框架和库的三个原则肯定会帮助你使用新技术,你必须一致地改进你的产品。