-1

パブリック API メソッドのメソッド命名の決定に出くわすことがあります。

バリアント A:

public void play();
public void stop();
public void pause();

バリアント B:

public enum CallType {
            PLAY,
            STOP,
            PAUSE
        }
public void execute(CallType type);

パラメータ(およびチェック)が必要ないため、APIクライアントの場合、バリアントAのインターフェースを使用する方が便利だと思います。

しかし、バリアント B では、パブリック インターフェイスも小さくなり、開発者のタスクがより簡単になるとも思います。

これらのアプローチについてどう思いますか?

4

1 に答える 1

1

呼び出しタイプの数がかなり少ない場合は、アクションごとに個別のメソッドを用意する価値があると思います (バリアント A)。これにより、インターフェースが読みやすくなり、クラスのユーザーを別の JavaDoc ページ (enum の) に誘導して、インターフェースを使用するオプションを知る必要がなくなります。呼び出しの種類の数が増えると、より大きなコントラクト (つまり、より多くのメソッド) を持つインターフェイスが得られる可能性があるため、enum を使用する価値があるかもしれません。ただし、この場合、executeメソッドが大きくなりすぎる可能性があることに注意してください (おそらくswitch、多くのケースを含むステートメントで)。

どのような手段で答えを出すべきだと思うのですが、reasonablyこれには正確な答えはありません。開発者の好み、組織のコーディング標準、静的コード チェック ルール (アナライザーがある場合) などによって異なります。

于 2014-05-22T20:59:23.110 に答える