我记得研究新框架的旧有效方法.MFC说,这总是阅读这本主题好书的最佳方式.当我试图跳过大量材料以加快编码时,后来发现它会更快地首先阅读整本书.没有很好的方法来研究小部分的框架.或者至少我当时没有看到它们.
过去几年发生了许多新事物:改进了谷歌的搜索结果,编程博客,更多参与互联网讨论的人,以及许多开源框架.
现在,当我们编写软件时,我们通常依赖于第三方(通常是开源)框架/库.很多时候我们只需要知道他们使用它们的少量功能.它只是找到使用库的一小部分而没有不必要的悲观化的最简单方法.
您如何尽可能少地研究框架并仍然有效地使用它?
例如,假设您需要使用Lucene索引一组文档.您需要突出显示搜索片段.如果你深入研究Lucene,你不关心词干分析器,将索引存储在一个文件中与多个文件,模糊查询以及许多其他会占据你大脑的东西.
那么你的策略,方法和技巧是什么来节省你的时间?
我会列举我会做什么,虽然我觉得我的过程可以改进.
你的学习/搜索路线是什么?如果可能,请按优先顺序写下它们.
我使用三阶段技术来评估 API。
1) 发现 - 在此阶段,我使用尽可能多的不同搜索短语组合来搜索 StackOverflow、CodeProject、Google 和新闻组,并将可能适合我需求的所有内容添加到一个巨大的列表中。
2) 过滤/排序 - 对于我在收集阶段发现的每个项目,我都会尝试找出它是否适合我的需求。为此,我直接跳到 API 文档并确保它具有我需要的所有功能。其结果会进入一个加权列表,其中最佳解决方案位于顶部,所有的问题都被过滤掉。
3) 原型 - 我选择了前几名竞争者,并尝试做一个小型实现来实现所有重要功能。凡是最适合这里项目的都会获胜。如果由于某种原因在实现过程中出现了最佳选择的问题,则可以转而采用其他实现。
当然,为项目选择最佳 API 需要考虑很多因素。一些重要的:
...当然还有更多。这一切都非常依赖于项目。
至于节省时间,我想说的是,在这里试图节省太多时间只会在以后反咬你一口。选择一个好的库所花费的时间至少与实施它所花费的时间一样重要。另外,想一想,在六个月内,您是愿意快乐地编码,还是愿意与仇外的开发团队争论:)。现在多花几天时间对你的选择进行彻底的评估可以在以后避免很多痛苦。