2

C# + XNA で基本的なタイル マップ エディターを作成する方法に関するチュートリアルに従っていますが、使用されているコーディング方法について質問があります。メインの Game クラスには、getter や setter を使用せずに他のインスタンス化されたクラスからアクセスおよび変更される多くの public static 変数が含まれています。これは悪いコーディング方法ですか? チュートリアルへのリンク: http://www.youtube.com/watch?v=Tbs5EA-9Zfg

4

1 に答える 1

5

問題のコードを見るためだけにたくさんのビデオを見るつもりはありませんが、これらが変更可能な型である場合、一般的なコーディングでは間違いなく不適切な方法であると言えます。静的変数は最終的に単体テストを非常に困難にし、すべてのグローバル状態のためにコードを推論するのが難しくなります。私の経験では、UI コードは多くの場合、最善の原則に違反しています。しかし、そうする必要はない確信しています。MVVM は、WPF/Silverlight のこの面で役立ちます。他の環境で慣れ親しんだベスト プラクティスを使用してコードを記述しようとしますが、一部の XNA アプリケーションに関連する可能性のあるパフォーマンスへの影響を念頭に置いてください。

public static 変数が事実上定数(不変型の読み取り専用変数) である場合、私はそれで大きな問題はありません。デバッグ。私はまさにそのトピックに関するブログ投稿を書き終えたところです。変数がプライベートでプロパティを介してアクセスされた場合でも、同じ問題が発生する可能性がありますが、その場合はタイミングをより簡単に変更できます。

于 2012-04-07T15:08:28.937 に答える