JavaScript is a very forgiving language. It’s easy to write code that runs but has issues in it.
In this article, we’ll look at best practices for naming JavaScript variables.
Computed-Value Qualifiers in Variable Names
We should name variables that hold computed data with a modifier that the end of the name.
For instance, if we have a variable that calculates a total, then we should have it with the Total
at the end of the name.
If it holds the total price of a purchase, for example, we can write priceTotal
.
As long as we stick with a convention for the qualifier, then no one will get confused.
Less confusion means easier to read code.
If a computed value goes that the end of the name as a rule, then we can put the modifier before it.
For instance, we can write totalPrice
instead.
Common Opposites in Variable Names
If we have variables that hold the opposite data of another, then we should be precise with them.
For instance, if we have a begin
variable, then we can have the end
variable if it holds the opposite data of the begin
variable.
Likewise, there’re also names like min
and max
, next
and previous
and so on.
Naming Loop Indexes
Loop indexes should have short variable names like i
, j
and k
as a convention.
For instance, we may write:
for (let i = 0; i < 10; i++) {
//...
}
However, if we have nested loops, then we may want to name the variables with a more descriptive name to make the loops more readable.
If we have a nested loop, we may write:
for (let eventIndex = 0; eventIndex < 10; eventIndex++) {
//...
for (let teamIndex = 0; teamIndex < 10; teamIndex++) {
//...
}
}
Naming Status Variables
We should name flags with a descriptive name so that we know what they hold.
For instance, we should have a flag with a name with something like isSystemReady
so that we know that the flag is for holding information on whether a system is ready.
Naming Temporary Variables
Temporary variables are used to hold intermediate results of computations.
We shouldn’t treat them casually since they’re still part of the code.
It’s better that we define temporary variables with a descriptive name.
For instance, instead of writing:
const temp = (b ** 2 - 4 * a * c) ** 0.5;
let solutions = [];
solutions[0] = (-b + temp) / (2 * a);
solutions[1] = (-b - temp)
We write:
const discriminant = (b ** 2 - 4 * a * c) ** 0.5;
let solutions = [];
solutions[0] = (-b + discriminant) / (2 * a);
solutions[1] = (-b - discriminant)
Then we know that (b ** 2–4 * a * c) ** 0.5
is the discriminant of the quadratic formula.
Naming Boolean Variables
Booleans also need descriptive names.
There’re a few that pertain to boolean variables. They include done
to indicate that something is done.
error
to indicate whether we have an error or not.
found
to indicate that something we look for is found.
success
or ok
indicates whether an operation has been successful.
Photo by Yoann Boyer on Unsplash
Give Boolean Variables Names that Imply true or false
The names above are good because they imply that they can only be true or false.
We may also want to put is
in front of a variable to indicate that it’s a boolean.
For instance, we can define isFound
instead of found
,
Use Positive Boolean Variable Names
Double negative expressions are hard on our brains. So we should have positive variable names like found
instead of notFound
.
Naming Constants
Constants usually are named with all upper case with underscores separating words.
For instance, we can define MAX_DONUTS
to hold the maximum number of donuts someone can eat.
Why Have Conventions?
We should follow conventions to that things are easy to read and understand since people don’t have to switch context all the time.
It also prevents us from calling the same things with different names.
Conventions for names can also compensate for language weaknesses. So since JavaScript doesn’t have data type annotations, we can specify the type in the name.
Relationships among items are also indicated with consistent naming schemes.
Conclusion
We should name things with descriptive names and don’t use double negatives.
The only exceptions are loop indexes since often use letters for the names.
Constants should be all uppercase with underscores separating them.