这个问题可能有点主观,但我只是想遵循代码组织的最佳编程实践。
我有一个对类Polynomial
进行大量引用的类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
是什么使用它们,因此将它们存储在类中会将其本地化到将要使用的位置。这也意味着可以将其更改为私有,以便仅在一个类中使用。
另一方面,如果它是在 内部定义的Rational
,那么对值的所有调用都变为Rational.ZERO
, Rational.ONE
, Rational.NEG_ONE
-- 这使得它非常易于阅读,并以词汇上易于理解的方式组织它。如果需要,它还提供了定义类似常量的机会Polynomial
。
所以基本上,撇开意见不谈,在这种情况下,组织最常见的做法是什么?我的想法是否适合它的任何一个位置,或者是否有其他我没有考虑过的解决方案?