特定のタイプのコード (例: シミュレーション/ゲーム/最適化) では、オブジェクト (位置、速度、距離、面積、体積、時間、時間差) の多くの物理量/プロパティが格納、操作、および公開されます。これらのタイプのコードでは、これらすべての量は通常、浮動小数点数、つまり c# の double で表されます。
これにより、時間を距離に、面積を体積に、時間を時間に、位置を位置に追加できます。
しかし、あなたは決してこれをしたくありません。時間に時差を追加したり、他の距離や位置に距離を追加したり、エリアに距離を掛けたりするだけです。それでも、特に他の人がコードで作業している場合は、エラーが簡単に発生します。
この危険を軽減するための多くのオプションがあります。さまざまな物理量を表すカスタム クラスを定義し、その後、特定の種類の相互作用をプログラムで禁止することができます。または、厳密な命名規則 (delay_timedifference など) に従います。これらの 2 つのオプションのどちらが、(もしあれば) どのような状況で最適ですか? 最初のオプションを実装する方法は? 2 番目のオプションの命名方法は?