介绍
新框架和库的开发速度如此之快,几乎不可能对其进行评估。 这可能使您很难判断某个技术是否值得(时间)投入。本文为您提供了一些技巧,这些技巧在评估新技术时可能会有所帮助。
概念层面
尽管有许多不同的库和框架,但是大多数库和框架都可以根据某些概念上的差异进行分组。 以下概念可能有助于
给出这种概念上的区别的想法:
- 基于组件的框架
- 基于请求/响应的框架
- 对象关系映射
- 映射减少
- 键值存储
- 讯息传递
- 还有很多…
在评估特定技术时,它有助于确定它属于哪个概念。 在进一步分析特定技术之前,请确保您了解这些概念。 没有这种了解,几乎不可能进行客观分析。 了解这些概念需要投入时间。 通常以阅读,观看演示,实验,培训和与他人交谈的形式。 了解这些概念将使客观评估特定技术变得更加容易。
通常越简单越好
评估特定技术的关键措施之一是确定它是否以及如何满足给定要求。 许多框架和库提供1分钟的介绍,5分钟的指南,30分钟的教程等等。 我真的很喜欢这些介绍,因为它通常可以使您快速上手。 除了快速上手之外,一个更重要的因素是给定解决方案的复杂性。 我真的很喜欢“让事情尽可能简单,但不要简单”的想法。
如上所述,入门指南向读者介绍了一个相对简单的案例或问题,以演示给定技术的关键功能。 为了确定某种技术是否适合,我建议在入门指南中针对案例解决方案的复杂性。
我认为,如果相对简单的案例或问题的解决方案很复杂并且不容易理解,那么如何解决更复杂的问题的解决方案又如何容易理解? 当然,这种复杂性来自多种口味:
- 我需要写多少代码才能完成最简单的事情?
- 我需要扩展几个班级?
- 我应该写什么以及多少配置?
- 文档的质量如何?
- 如何轻松测试我的解决方案?
- 等等。
如果解决一个简单问题的方法确实简单易懂,那么值得花费更多的时间来研究该技术是否满足您的要求。 如果一个简单问题的解决方案不简单且不易理解,则在投入更多时间之前要三思而后行。
结论
新框架和库的开发速度如此之快,几乎不可能对其进行评估。 为了加快决策过程,请确保您从概念上理解技术。 一旦了解了概念水平,请使用介绍指南(如果有)尝试技术。 如果从那些入门指南中,解决一个给定问题的方法简单易懂,那么花更多的时间研究特定技术解决更复杂的问题可能是值得的。 如果没有,请格外小心。
参考:在Jamie Craane的Blog博客上评估我们的JCG合作伙伴 Jamie Craane的新框架,库和技术 。
翻译自: https://www.javacodegeeks.com/2013/04/evaluating-new-frameworks-libraries-and-technologies.html