如果有两种处理任务的方法,应该如何选择呢?


11

我有一个特定的用例,并发现了在Internet上进行三种方法的定义,这些方法是针对模糊的用例定义的。我盯着这三个要应用的问题。

我倾向于坐在那里,不知道该怎么做-然后什么也不做...是否有选择的好方法?我应该尝试所有这些吗?

为了在某​​些情况下更具体,我正在尝试制作一个非常轻巧的棋盘游戏,在其中我需要屏幕的一部分,可以旋转棋盘游戏网格,放大到网格并在该网格上移动棋子。我不知道如何执行此操作,但是我在网上找到了诸如Core Animation,Core Graphics,Sprite Kit之类的东西,并且看到了支持和反对它们的理由-例如Sprite kit是高级别的,但是将帧频保持在60,当屏幕上没有任何实际动静时,会浪费电池。Core Animation是一个较低级别的API,它反对Apple提出的“采用最高级别的抽象”的指导。我不想学习3件事。1.有没有办法我可以选择并摆脱困境?

我故意将此问题保留为一个模糊的问题,因为我认为它适用于整个软件领域。

Answers:


16

您对每种方法执行成本/收益分析,然后选择总体收益/成本比最高的方法。

如果竞争的库执行基本相同的功能,则执行该分析的最佳,最简单和最快的方法是使用每个库建立小型原型。然后应该更清楚地选择哪一个。

图书馆可能的成本/收益考虑:

  • 可维护性
  • 使用方便
  • 足够的文件
  • 学习曲线
  • 整体表现
  • 购买与构建

...等。请注意,其中许多注意事项可能有些主观。

无论是业余爱好还是职业都没有关系。如果您决定继续探索实际职业,则将(并且应该)使用相同的过程。

替代决策策略: 选择您喜欢的一种。


4
对于libs和第三方的实现,我将添加:社区支持,可评估的版本(非beta,候选发布或快照),余额文档
Laiv


15

作为罗伯特·哈维(Robert Harvey)出色回答的附录,在这里我付2美分:

选择一种似乎起步最少的方法,但是当发现您首先选择的解决方案有太多问题时,请确保打开机会切换到其他方法。并且,如果您怀疑使用方案的某些方面存在某些问题,请确保首先实施这些领域,以便在为时已晚之前无法恢复最初的决定之前,得到早期的反馈。

效果如何很大程度上取决于情况。例如,如果您需要用于访问外部设备或某些文件格式的简单库,请确保将所有库访问都封装在应用程序的一层中。但是,如果您不确定要选择哪个框架或要选择哪种编程语言,则可以做全面的成本/收益分析。

有时,最好只是做出决定,即使它只是第二好的决定,只要您实际执行即可。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.