1

クラスにはいくつかのプライベート メソッドがあり、それらはインスタンス変数に依存しません。それらはいくつかの引数を受け取り、値を返します。副作用はありません。

例えば:

class User {
    private String firstName;
    private String lastName;
    public String getFullName() {
          return capWord(firstName) + " " + capWord(lastName);
    }
    private String capWord(String word) {
         return word.substring(0,1).toUpperCase() + word.substring(1);
    }
}

capWordこのクラスにはメソッドがありますが、これは ではありprivateませんstatic。としてマークしても安全staticですが、これを行う十分な理由はありますか?

私には2つの理由があります:

  1. メソッドstatic
  2. よりよい性能

しかし、チーム内の他のメンバーに可能な限りprivate方法を変更するよう説得するのに十分かどうかはわかりません.static

4

4 に答える 4

1

メソッドを作成すると、メソッドがstatelessstaticであることを人間の読者に知らせます。これは、知っておくべき重要な側面です。

ステートレス メソッドがインスタンス メソッド (つまり、非静的) である必要がある場合を除き、たとえば、クラスがインターフェイスを満たさなければならないなどの理由で、ステートレス メソッドを静的にすることは適切な設計上の選択となる可能性があります。

于 2013-09-02T06:50:04.157 に答える