Have you heard about the two hardest things in computer science? It's cache invalidation and naming things. I want to focus on the second one.
Let's see common examples of both good and bad naming. What's the common part of each of them? What's makes names good? Can we settle on good enough or should we aim for perfect names? I'll show some of best and bad practices so you'll be able to recognize both of them when you make code review for your peers. Naming is one of two hardest things in CS, so I don't claim to be right about everything but I'm open to discussion and happy to learn from you as well.