Does anyone have any good advice on variable naming? Here’s some of my rules I try to live by:
camelCase
use prefixes
prefixes should be one word followed by an underscore.
10 character limit or 3 word limit, not counting the prefix
functions should be prefixed with the file in which they’re defined, ie utils_FooBar
file names should be one word
Start Bools with is
Don’t use not in bool names.
This has farther-reaching implications that will keep you from making confusing code most of the time (I’m sure this will be controversial, but it works no matter what they say)
start output with _
Globals should be g_VARIABLENAME
use the least amount of words possible
but being too verbose can draw attention - use this to aide in readability
calc_ImportantValueThatWillDecideTheUsersView is better than calc_SumYears if the variable is more important than the others.
Even the greatest variable names are not replacements for documentation
Even the most readable code is not replacement for documentation.
Force yourself to love documentation.
Edit: I realize I was speaking about function-naming with the prefix stuff.
For variables, I still use prefixes, but for variable type. Even if you define the variables as types, it’s still incredibly useful. For instance,
a string is s_MyName,
enumerable is e_MyType,
A number is int or double or whatever i_MyAge or d_MyWeight
This might be obvious for custom objects, but I’d still do it like this p_Person or per_Person.
Does anyone have any good advice on variable naming? Here’s some of my rules I try to live by:
utils_FooBar
is
not
in bool names._
g_VARIABLENAME
calc_ImportantValueThatWillDecideTheUsersView
is better thancalc_SumYears
if the variable is more important than the others.Edit: I realize I was speaking about function-naming with the prefix stuff.
For variables, I still use prefixes, but for variable type. Even if you define the variables as types, it’s still incredibly useful. For instance,
a string is
s_MyName
,enumerable is
e_MyType
,A number is int or double or whatever
i_MyAge
ord_MyWeight
This might be obvious for custom objects, but I’d still do it like this
p_Person
orper_Person
.Seriously it does make a huge difference
Not sure if you’re trolling or serious.
Sorry, I’m serious. These are things I have picked up from 18 years in the industry.