On Thu, 01 Feb 2018 13:59:13 +0100, Gilles wrote:
Hi.

IMHO, there are too many accessor and factory methods.
We should strive for a lean and consistent API.

For the factory methods, I suggest the "of" convention:
 public static Complex ofCartesian(double re, double im)
 public static Complex ofPolar(double abs, double arg)
And, as syntactic sugar:
 public static Complex ofCis(double arg)

Those are useful too:
   public ofReal(double re)
   public ofImaginary(double im)


For the accessors:
 public double re() { return real }
 public double im() { return imaginary }

I'd have
  public double arg()
  public double abs()
in order to compute the polar coordinates.

I'm -0 to have others as syntactic sugar since they are
misleading (a.o. when "implying" the read of a field when
a computation is performed).

WDYT?

In addition to the above, I propose
* to have a single, "private", constructor:
    private Complex(double re, double im)
* to remove the "protected" method "createComplex" (
  unless there is a case for inheritance).

Regards,
Gilles


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to