3

私はJavaFXでゲームに取り組んでおり、コンパイルされたゲームをたまに人々に送って試してもらいます。私はまだ開発中なので、開発/デバッグ専用のコードがいくつかあります。

一例として、テスト中に非常に役立つゲームスピードスライダーがありますが、これは非常にバグが多く、特定の方法でしか使用できません。他の方法では、テストリリースでそのようなコードは必要ありません。

そのようなコードを削除する最良の方法は何ですか?

  • コードをif(Config.DEBUG)で囲む(コードにパラメーターを設定する)?
    • if()を使用していますが、異なるビルド構成でパラメーターを設定していますか?
  • SVNブランチはこのようなコードを保持できますか?または、Gitに変更する必要がありますか?
  • このために注釈を使用する方法はありますか?
4

2 に答える 2

2

これにはSVNブランチを使用できますが、ブランチを頻繁にマージする必要があります。私はこれをしません。

あまりエレガントではないかもしれませんが、私はあなたの最初の提案に行きます:ビルドプロセスが自動的にそれを変更できる場所に構成パラメーターを置き、if()影響を受けるコードを回避します。

ビルドプロセスを変更して、プレーヤーjarとテストjarを同時に作成するようにします。

于 2009-11-21T23:36:18.313 に答える
1

純粋な if ステートメントを使用して、環境変数または VM オプションが設定されているかどうかを確認します。その場合は、デバッグ コードを実行します (または、必要に応じてリリース コードをテストします)。パフォーマンスの問題はないはずであり、HotSpot JIT によってこれらの部分が排除されることさえあります。

確かに、私には多少手早くて汚れているように感じますが、シンプルであり、必要なことを正確に実行します。

他の提案に関しては、ブランチを使用することはお勧めできません。可能ですが、処理したくないオーバーヘッドが発生します。注釈は仕事をすることができるかもしれませんが、この解決策は必要以上に複雑になります.

于 2009-11-21T23:39:37.230 に答える