These are things I have picked up from 18 years in the industry.
Let me comment some of it then …
camelCase
use prefixes
prefixes should be one word followed by an underscore.
Highly depends on your environment, your naming convention, etc.
functions should be prefixed with the file in which they’re defined
In modern day programming the file names are pretty much irrelevant. All somewhat recent programming languages have modules and namespaces. I don’t care in what file fooBar was defined. ALso: what happens if you refactor stuff and rename the file? Do you want to go through everything where the function is mentioned? (This can be automated, though, but still.)
Start Bools with is
Or with whatever is the naming convention you or your team follows. I do embedded scripting and one of the projects explicitly wants can_verb_thing when it comes to user permissions (can_change_foobar, can_run_baz, etc.). It is a good advice but heavily depends on your environment.
start output with _
Paraphrasing the naming convention I mostly work with: Start everything with _ that will be exported to global namespace. Also use the name of your module. Instead of foobar use _mymodule_foobar.
Globals should be g_VARIABLENAME
Globals should be properly namespaced to global context. constants are uppercase.
calc_ImportantValueThatWillDecideTheUsersView is better than calc_SumYears
And summarizeYears is even better. Do not use abbreviations and describe what the function does. If it summarizes the years there is no need to name it something else. Document your code (in-code documentation as well as user-facing documentation if applicable).
Sorry, I’m serious. These are things I have picked up from 18 years in the industry.
Let me comment some of it then …
Highly depends on your environment, your naming convention, etc.
In modern day programming the file names are pretty much irrelevant. All somewhat recent programming languages have modules and namespaces. I don’t care in what file
fooBar
was defined. ALso: what happens if you refactor stuff and rename the file? Do you want to go through everything where the function is mentioned? (This can be automated, though, but still.)Or with whatever is the naming convention you or your team follows. I do embedded scripting and one of the projects explicitly wants
can_verb_thing
when it comes to user permissions (can_change_foobar
,can_run_baz
, etc.). It is a good advice but heavily depends on your environment.Paraphrasing the naming convention I mostly work with: Start everything with
_
that will be exported to global namespace. Also use the name of your module. Instead offoobar
use_mymodule_foobar
.Globals should be properly namespaced to global context. constants are uppercase.
And
summarizeYears
is even better. Do not use abbreviations and describe what the function does. If it summarizes the years there is no need to name it something else. Document your code (in-code documentation as well as user-facing documentation if applicable).