Travis Griggs posted "One of the Best Bits of Programming Advice I Ever Got" a few days ago, saying the advice was "don't make objects that end in -er."
The idea behind the advice is that in OOP, programmers should focus on nouns, not verbs. Nouns are people, places, and things; verbs are actions. By using "-er," you're focusing on the action or behavior, and not what's got the action or behavior.
He says this isn't a hard and fast rule, but there are a lot of cases where it can improve things.
And there's where it falls apart apart. Right after he says "here's some advice" he goes down a giant list of exceptions.
For one thing, nouns can end in "-er." Manager, Register, Border from his post. Filter would be one from the servlet api.
For another, we're used to a lot of "-er" object names. Parser, Browser, Compiler.
For yet another, some domain objects end in "-er."
I'd say that some of his examples of objects that end in "-er" that shouldn't, like "Controller," "Renderer," and "Reader" are commonplace enough that you'd look funny trying to avoid them. "Control" is what a controller would yield. A Render would be what a renderer created. "-er" doesn't always mean focus on the verb and not the noun, it can just be a legit object design.
I'm glad he said it was advice and not a rule. If it was a rule, then his list of exceptions and poorly constructed examples would have made the rule worthless before it even had a chance.