#Naming
Naming
As Bhathiya pointed out, you should be using actual, descriptive variable names rather than just a single character.
A descriptive variable name means everything, as it increases readability and understanding 10-fold, even if it means typing a few more characters each time you write the variable name.
And, if you really, really don't want to type out a full variable name each time, most text editors or IDEs come with auto-complete. This could help you type less.
I think that the best way to express that the class can be instantiated in comment form would be to write something like this:
@instantiate: (new) Complex(r, i, m, t);
Then, in your code, I recommend adding a comment to these lines:
if (!(this instanceof Complex)) {
return new Complex(r, i, m, t);
}
That says that those lines allow for the object to be instantiated with new
.
However, do you really need both options? Is there something in the full program that you are using that blocks you from using new
? I can't think of any case where you would be blocked by using new
, I think you should always use it because it is then very clear that Complex
is a class.