At our team we have a lot of names for pair of interacting objects.
To be more clear let's take users. In messenger it's
receiver, in diary it's
viewed, in profile it's
visited and so on.
This goes worse when one have to name variable or argument for current user. It can be
user or something else.
And this goes even worse when one dev has named an argument
currentUser and other dev now have to choose a name for 'another' user. So in some places of code we have
visitedUser or even
These names are extremely confusing. And even more confusing for developers whose native language is not English.
To solve this problem I propose so called "AB naming".
So actually we have some action from one object to another. Let's name the first object A and the second one — B, action from A to B. The scheme is super simple: A→B. Keep it in mind and you'll never ever be confused by names:
userA performs an action against
userB. Does it really matter who is 'current'?
Why this is so natural?
AB naming looks very natural (at least for me). And here are two main reasons.
A is the first letter, B — the second. In our brain A always goes first, 1 always looks more privileged. So this is natural for our language, our way of thinking.
Math in school. I don't know much about math education in other countries, but in Russia we have lots of excercises started with "From the point A to the point B...", all that segments AB and so on.
Here is how google search by pictures looks like with query "from a to b"
And there is even transport search engine called fromAtoB.com.
Of course, this rule have to be accepted by (or at least announced to) your team. But trust me, once you go this way, you'll never come back ;)