タスクにアプローチする方法が2つある場合、どちらを選択する必要がありますか?


11

特定のユースケースがあり、インターネットを介してそれを行う3つの方法を見つけました。私はこれらの3つを見つめています。

私は何をすべきかわからないままそこに座る傾向があります-それから何もしません...選択する良い方法はありますか?それらすべてを試してみるべきですか?

特定のコンテキストをより具体的にするために、ボードゲームグリッドを回転したり、グリッドにズームインしたり、このグリッド上のピース移動したりできる画面の一部が必要な非常に軽量なボードゲームを作成しようとしています。私はこれを行う方法がわかりませんでしたが、Core Animation、Core Graphics、Sprite Kitのようなものをオンラインで見つけ、それらに対する賛否両論を見ました-たとえば、Spriteキットは高レベルですが、フレームレートを60に保ちます画面で実際に何も動いていない場合、バッテリーの無駄です。Core Animationは低レベルのAPIであり、「最高レベルの抽象化を行う」というAppleのガイダンスに反対しています。使用する3つのことを学びたくありません。1。選択してスタックを解除する方法はありますか?

ソフトウェアの分野全体に当てはまると思うので、これを意図的に漠然とした質問として残しています。

回答:


15

各アプローチでコスト/ベネフィット分析を実行し、全体的なベネフィット/コスト比が最も高いアプローチを選択します。

本質的に同じ機能を実行する競合ライブラリの場合、その分析を実行するための最良の、最も簡単で迅速な方法は、各ライブラリを使用して小さなプロトタイプを立ち上げることです。どちらを好むかは、十分に明らかになるはずです。

ライブラリの考えられる費用/便益の考慮事項:

  • 保守性
  • 使いやすさ
  • 適切なドキュメント
  • 学習曲線
  • 総合業績
  • 購入とビルド

...など。これらの考慮事項の多くは多少主観的である可能性があることに注意してください。

趣味でもキャリアでも構いません。実際のキャリアに向けて調査を続けることを決めた場合、同じプロセスを使用します(および使用する必要があります)。

代替の意思決定戦略: 好みの戦略を選択します。


4
LIBSおよびサードパーティの実装の場合は、私が追加します。コミュニティのサポートESTABLEバージョン(ないベータ版、リリース候補またはスナップショット)ドキュメントをバランスに
LAIV


15

ロバート・ハーヴェイの優れた答えへの補遺として、ここに私の2セント:

最初に最も手間がかかりそうなアプローチを1つ選択しますが、最初に選択したソリューションの問題が多すぎることが判明した場合は、別のアプローチに切り替えるためにドアを開いたままにしてください。また、使用シナリオの特定の領域で特定の問題が疑われる場合は、最初の決定を取り消すには遅すぎる前に、それらの領域を最初に実装して、早期のフィードバックを得るようにしてください。

これがどの程度うまく機能するかは、場合によって大きく異なります。たとえば、外部デバイスまたは特定のファイル形式にアクセスするためのシンプルなライブラリが必要な場合は、アプリケーションのレイヤーにすべてのライブラリアクセスをカプセル化してください。ただし、どのフレームワークを選択するのか、どのプログラミング言語を選択するのかわからない場合は、おそらく徹底的なコスト/利益分析を行うことができます。

あなたが実際にそれを行う限り、それが2番目の最高の決定であっても、決定するだけの方が良い場合があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.