The Process of Naming Arbitrary Programming Idioms
Posted: Nov 11, 2015 by Bryan Tong
What your boss doesnt realize
This is just one of the many issues that tend to arise during programming that are A) time consuming B) really simple. Which to me yields to the average assumption of "programmers do a lot of nothing".
The programming process as a whole
I think of the programming process most like building a house or any other construction project. The projects can yield from simple to gigantic depending on the problem that is trying to be solved.
Programs start with a foundation and are built upon. Errors are discovered and fixed and the code continues to move.
However, I have noticed through being employed as a Programmer and owning my own companies that depend on my programming is that us developers often have a very real problem judging the amount of time it takes to develop projects.
Choosing a Name
As a developer, and entrepreneur I commonly run into the issue of choosing names for companies, projects or even functions in my programs. I have had naming schemes come back to cause huge refactors of code or just completely confuse fellow programmers.
Being too Clever
A collegue I have worked with many times always had a knack for choosing some very clever names. However, sometimes choosing names that were too clever for anyone else to follow.
Being too Generic
My own problem is that I often choose names that are too generic which can lead to problems down the road and end up confusing developers as they try to work on projects.
I try to avoid names like item
, row
, entry
as these are ambiguous to every computer operation.
Being too Descriptive
Another problem I often find is using names that are so descriptive no one wants to type them. So try to stay away from MyBlogPostClassThatServesWebPages
I notice at Apple with the iPhone API they are really into that kind of thing, my fingers have other things to do.
Some Tips for Good Names
Be Intuitive
I generally take the time to try to find an object in real life that closely resembles the programming pattern I am about to create. This makes it easy for newcomers to relate to either your project or class / function as it will easily be deducted from the name.
It should be reasonable that another person could arrive at the same name given the time and circumstance.
Be Just Descriptive Enough
Short ambiguous names suck more than longer ones., So always stick with a name that is easy to recognize similar to keys in a database. (Our brain is like its own B-Tree and it likes keys).
Relay this on
Show your bosses there is a lot of thought that goes into something as seemingly simple and naming your next function or process.
I wrote this blog because choosing a process name just halted my development process. It is yet another very real obstacle between programming and data entry.
Running a keyboard does not produce sound software. If a programmer isnt doing anything, then they are probably just about to change the way we look at the world.
Give us a break!