Being at a startup for 10 years had the advantage that I'd frequently run into some of my original code. My favorite real life naming example:
IDataProcessor. And if you need the raw data it will be several layers deep in dataProcessor.data.data.data.
Re:DRY Is a Trade-Off
by gabereiser on Friday December 18, 2020 @05:42PM
(#25472982)
I read that last line in the theme of Super Mario Bros World 1-2 song. Data.data.data...
Data.data.data...
My naming ticks are "tasks, process, items"
Can’t stand the ever-popular “Manager.” Java and C++ especially loves classes that manage things.
Yeah, I agree with GPs sentiment, but would emphasize good abstraction over a good name. Hard to define a good abstraction though, but I think a good starting place would be to make it feel single purpose. Once an abstraction becomes too multi purpose is when configuration and case switching spaghetti begins to start.
For this concern to make sense, people would have to go around easily inventing good abstractions all the time, but having great trouble naming them. That seems so implausible to me. If you can't name it, that's almost certainly because it sucks.
When something like this is adopted, the average person will look at something then quickly throw up their hands and declare that they can't name it without really trying. Many things can be named well, but it takes 60 seconds of hard thought and focus to realize it.