不変性と純粋性を強制
不変オブジェクトと純粋メソッド
実行時、プログラムの状態はインスタンスフィールドと静的フィールドの値です。状態がいつ、どのように、なぜ変化するかを制御することは最も困難なプログラミングタスクの一つです。マルチスレッド環境では、状態変化による潜在的な副作用が複雑すぎて理解できなくなるため、これは信じられないほど困難になります。
不変性が重要な理由
オブジェクト指向開発者は、ほとんどの状態が不変である関数型プログラミングのアプローチにますます影響されています。オブジェクトは 不変 作成後に状態が変化しない場合。メソッドは 純粋 実行がフィールド状態を変更しない場合。不変オブジェクトと純粋メソッドは予期せぬ副作用を制限する効果的な方法です。
CppDependの効果
専用のCode Quest条件とルールにより、クラスとメソッドの不変性と純粋性を検証できます。次が可能:
- 不変であるべきクラス内の可変フィールドを検出
- オブジェクト状態を変更する不純なメソッドを特定
- コードベース全体に純粋性制約を強制
- 不変性準拠レポートを生成
この機能を始める最適な場所は、デフォルトのCode Quest制約リストと関連ドキュメントです。CppDependには不変型、純粋メソッド、副作用違反を検出する組み込みルールが含まれています。
