2012-03-05 3 views
0

私は、LOC、SLOC、またはその他のメトリックを使用してモジュール実装を測定する方法を知っています。SW APIの測定方法は?

しかし、私は知っていると思います。「最高のもの」を見つけるために、いくつかの異なるAPIを「測定」することは可能ですか?

例えば

: 核RTOS: STATUS NU_Create_Semaphore(NU_SEMAPHORE *セマフォ、CHAR *名、UNSIGNED initial_count、OPTIONのsuspend_type)。

Posix:int sem_init(sem_t * sem、int pshared、unsigned int value);

たとえば、Nucleus OSでのセマフォの作成では、Posixの亜種よりも多くのスタックを使用する必要があります。だから我々は、このケースでは、「測定値」として「スタックのサイズ」を使用すると、Posixがより優れたAPIであると結論づけることができますか?

この分析は単なる愚かですか?

もし、上記のことがばかげていないのであれば、同じ機能をカバーするAPIを測定するのは簡単ですが(sempahoreの作成、スレッドの作成など)、機能が同じでない機能を提供するAPIを測定する方法は "等しい"?

異なるAPIを使って同じ機能を持つテストを想像することができます。 異なるメトリック(メモリ消費量、LOC、SLOCなど)でこのように作成されたテストをいくつか比較したら、あるAPIが他のAPIより優れていると結論できますか?

TIA

答えて

2
  1. 最も単純なものを使用して、あなたがそれらから
  2. が必要な機能/機能を提供しますAPIを探します。

長期、シンプルさと保守性は、このAPIは、アプリ、地元の図書館が、リモートサービスからではない場合は特に、パフォーマンスよりもはるかにより重要です。

+0

回答ありがとうございますが、私は問題に "プログラマ"ソリューションは必要ありません。そのような問題に対する「科学的」な解決策はありますか? –

+0

私はあなたが「科学的」とは何を意味するのか分かりません。異なるAPIを見るために私が見ることができる唯一の理由は、どのAPIをプロジェクトに使うかを決めることです。 「より良い」と評価する測定基準を提供していなかったことを考えれば、運動の目的は何ですか?また、どのような答えをお探しですか? – cdeszaq

+1

私は解決策が科学的だと思います。あなたは素晴らしい名前をしたい場合は、ステップ2を呼び出すことができます - オッカムの剃刀の原則を適用します。 – darlinton

0

本当にあなたの判断基準によります。 最高のオプションは、あなたの必要な機能に応じて利用可能なすべてのAPIを一覧表示することです あなたの要件に基づいて判断基準を修正することができます 時間複雑(機能の順序)、スペースの複雑さ、使いやすさ、 APIの使用、他のモジュールの再利用性、アプリケーションの要件が何であれ、それに基づいて判断が下されます。

関連する問題