この質問は少し主観的なものかもしれませんが、私はコードを編成するための最良のプログラミング プラクティスに従おうとしているだけです。
classPolynomial
を多く参照するクラスRational
があり、多くの異なるメソッドでRational
、比較のために 1、0、または -1 に相当する値を使用します。
そのため、次の定数を定義しています。
public static final Rational ZERO = new Rational(0);
public static final Rational ONE = new Rational(1);
public static final Rational NEG_ONE = new Rational(-1);
ただし、これらの値を意味のある方法でどこに格納するかについては確信が持てません。
一方でPolynomial
は、それらを使用するものであるため、それらをクラス内に格納すると、使用される場所にローカライズされます。これは、1 つのクラス内でのみ使用されるようにプライベートに変更できることも意味します。
一方、 の内部で定義されている場合Rational
、値へのすべての呼び出しはRational.ZERO
, Rational.ONE
, Rational.NEG_ONE
-- になります。これにより、人間が非常に読みやすくなり、字句的に理解できる方法で編成されます。また、必要に応じて同様の定数を定義する機会も与えPolynomial
ます。
基本的に、意見はさておき、このような組織で最も一般的な方法は何ですか? どちらの場所についても私の考えは正しいですか、それとも私が考えていなかった別の解決策がありますか?