私が作業しているAPIのエラーマネージャを作成しています。 APIから返されるエラーコードの単一のストアを提供し、異なる呼び出しで同じエラーが同じ方法で処理されるようにします(要求から欠落した値など)。しかし、これはどこでも、私はエラーを設定するエラーコードのクラスへの依存を作成依存関係を作成せずにマジックナンバーを避ける
$this->_errorManager->setError(ErrorCodes::REQUIRED_FIELD);
:
私の最初のアプローチは、の線に沿っていました。
$this->_errorManager->setError(100);
しかし、今、私は何を意味する私のコードの真ん中に座って数を持っている:
選択肢があります。
私はこの特定の問題の解決策を考えることができますが、私は 'enum'を使いたいと思う他の状況があります。クラスを密接に結合しない解決策は考えられません。
マジックナンバーを削除するには、これを行う方法と別の方法がありますか?それとも、私が受け入れてケースバイケースで検討しなければならないものがタイトなカップリングですか?
"ErrorCodes"に*動作*がないので、私は実際にこの "カップリング"を呼びません。それは良い習慣であり、間違いなくその言葉の否定的な意味合いに値するものではありません。 「2つの論理エンティティを結合したもの」ではなく、「2つの物理クラスとして実装された1つの論理エンティティ」と考えることができます。 – Jon