Clean code tip: How to choose meaningful names?
Just a second! π«·
If you are here, it means that you are a software developer. So, you know that storage, networking, and domain management have a cost .
If you want to support this blog, please ensure that you have disabled the adblocker for this site. I configured Google AdSense to show as few ADS as possible - I don't want to bother you with lots of ads, but I still need to add some to pay for the resources for my site.
Thank you for your understanding.
- Davide
One of the fundamentals of clean code is: use meaningful names.
But choosing meaningful names takes time!
Time spent finding good names is time saved trying to figure out what you meant.
How to approach it? Good names do not come on the first try!
My suggestion is: at first, write down the code as it comes.
public static string Get(string input)
{
char[] arr = new char[input.Length];
int i = input.Length - 1;
foreach (var e in input)
{
arr[i] = e;
i--;
}
return new String(arr);
}
And then, when you have almost everything clear, choose better names for
- classes
- methods
- parameters
- variables
- namespaces
- libraries
public static string GetReversedString(string originalString)
{
char[] reversedChars = new char[originalString.Length];
int currentIndex = originalString.Length - 1;
foreach (var currentChar in originalString)
{
reversedChars[currentIndex] = currentChar;
currentIndex--;
}
return new String(reversedChars);
}
Probably, you’ll never reach perfection. Sad, but true.
You might want to add some tests to your code, right? RIGHT??
A good moment to choose better names is while writing test: at that moment your tests act as Clients to your production code, so if you find that the name of the method does not fully represent its meaning, or the parameter names are misleading, this is a good moment to improve them.
And don’t forget about private variables and methods!
So, what is “a good name”?
A good name should express:
- its meaning (what a method does?)
- its scope (for items in loops, even
var i = 0
is acceptable, if the scope is small) - what it represents (
originalString
is, of course, the original string)
π Let’s discuss it on Twitter or on the comment section below!
π§
This article first appeared on Code4IT