The art and difficulty of naming in programming.
Important note: (Do not read any of the comments in the thread without solving the challenge described in the article, otherwise you will miss the fun part ^_^).
This article is a follow of my very first article
Every programmer should know these conventions and practices.
So in this article, I’ll develop a little more in-depth the point: Give meaningful names.
Giving a meaningful name to our variables, functions, arguments, classes, attributes, and packages is both *difficult* and an *art*. Sometimes, and even often, every developer who cares about code quality stumbles upon naming issues. Personally, I can spend a lot of time just thinking about what will the best name for this, and I can choose one, change it later, multiple times until I find one or a colleague helps me to find the one that satisfied me the most, the one that makes me say or think, yeah, that is the perfect name.
Because, the name could drastically change how easily other developers and you (later, in a few years maybe ^_^) will quickly understand your code without necessary reading the details.
In this article, I'll just try to show you the impact of bad names and give more insights and concrete examples in a part2.
Let's take in a very simple function that is poorly named. I want you to quickly determine without testing what the function does, and after that, find better names to replace the badly named variables in that function in order to make the function more readable and understandable. It’s the function in the picture below, it’s written in python.
You can start now, and read the rest of the article after you’re done. Are you ready to take the challenge?
So let’s go:
The 20 seconds starts right now !!!
Congrats. No matter how much time you took to find it, 10seconds, or 1min, you agree with me that, after you’ve changed the variable’s names with good ones, the function is more obvious to comprehend.
But you know, in reality, even the poorest developer can’t write a code that is that much awful, at least, I hope so. In part 2 of this article, I’ll show some real example cases of code naming improvement and best practices.
We are at the end of this short article. Feel free to add in the comments some real cases of naming issues you faced and which name you finally chose.
I hope you had fun.