タグ付けされた質問 「utilities」

2
単体テストユーティリティクラス
私たち全員が、さまざまなソースからの使用のために、静的メソッドのみを含むいくつかのユーティリティクラスを持っています。ここで、このコードのテストに向けて実行できる2つの方法があります。 アプローチ1: ユーティリティクラス用に個別の単体テストを用意します。それらが呼び出されているところはどこでも、PowerMockなどのプロビジョニングが用意されているテストフレームワークを使用して相互作用を模擬します。これは基本的に、ユーティリティクラスをシステムの個別のコンポーネントとして扱い、個別にテストして保守する必要があります。 アプローチ2: ユーティリティクラスの単体テストを記述しないでください。ただし、このユーティリティクラスと対話する他のコアクラス用に記述されたテストでは、その相互作用が発生します。これにより、このユーティリティクラスで記述されたコードがさまざまなユースケースに対して適切にテストされることが本質的に保証されます。何かが壊れた場合、他のコンポーネントのテストはそれをキャッチできるはずです。 どちらのアプローチが望ましいか、または他の方法でこれに取り組む方法があるかどうかについて、あなたの考えを共有してください。

4
いくつかの大きなライブラリまたは多くの小さなライブラリ?
数か月の間に、現在すべてのプロジェクトに組み込んでいるゲーム開発のための小さなフレームワークを作成しました。 フレームワークは、SFML、LUA、JSONcpp、およびその他のライブラリに依存しています。オーディオ、グラフィック、ネットワーキング、スレッディングを扱います。いくつかの便利なファイルシステムユーティリティとLUAラッピング機能があります。また、文字列解析ヘルパーや数学ユーティリティなど、多くの便利な「ランダム」ユーティリティメソッドがあります。 私のプロジェクトのほとんどはこれらの機能をすべて使用していますが、すべてを使用しているわけではありません。 ファイルシステムとネットワーク機能のみを使用する自動アップデーターがあります ネットワーク機能のないゲームを持っています JSONcppを必要としないプロジェクトがあります これらの文字列/数学ユーティリティのみが必要なプロジェクトがあります つまり、SFML / LUA / JSON共有ライブラリは、たとえ使用されていなくても、すべてのプロジェクトに含める必要があります。プロジェクト(非圧縮)のサイズはこのように10MB以上で、そのほとんどは未使用です。 代替策は、フレームワークを多くの小さなライブラリに分割することです。これは、はるかに効果的でエレガントになると思いますが、より多くのDLLファイルとプロジェクトを維持する必要があります。 フレームワークを多数の小さなライブラリに分割する必要があります。 グラフィックス スレッディング ネットワーキング ファイルシステム 小さいユーティリティ JSONcpp utils LUA utils これは最良の解決策ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.