Are We Speaking The Same Language
Ludwig Wittgenstein famously said "If a lion could speak, we could not understand him" which exemplifies the complexities of different frames of reference and how context, even between people who work closely together can be lost and as a result misunderstandings will be made.
It is important to always be aware that others no matter in what situation will most likely have different frames of reference to yourself and even somewhat trivial matters can prove to be highly confusing when people take away different meaning from it. This is of course a problem in all inter-personal interaction but in a working environment it can end up with a great deal of confusion and a lot of frustration.
The other week A colleague of mine called a component Header, this of course isn't that descriptive and isn't the best name at the best of times but this got me thinking what would people consider Header to mean?
Now dependant upon background Header can have a range of meaning, if you are looking at this from backend development you would probably think of a HTTP request header or cookie header; On the frontend you may consider this is the part at the top of the screen, maybe a navbar or even a H-tag. Then if you move outside the realm of development it can have even more different meanings.
At the end of the day it doesn't really matter what the objectively best meaning for Header, because if you are working with a group of people or require others to view your work then something named like this can be highly ambiguous. We all know naming is hard, and it is very much an uphill struggle to try and figure out a name that is highly descriptive and is rather well targeted, and of course we should avoid using single words and to be honest in this day of intellisense and auto complete does it even matter if our names are quite long?
Of course if your names become full sentences then your item is probably doing too much and needs reconsidering, I'm an avid advocate of the Single Responsibility Principal which helps a lot when considering how to keep your code short and modular.
Naming is hard but it is often something we don't spend enough time considering and we tend to gloss over it. This can be damaging especially when you come back to some code from 6 months ago and can't make heads nor tails of it you will be checking the Git Blame to find who thought the name VariableA was adequate for this situation...
Photo by Roman Kraft on Unsplash