primeiramente
Faça a si mesmo a pergunta "qual é o objetivo único desta classe?". Sem aderir ao Princípio da responsabilidade única, nomear classes e métodos se torna muito difícil. Se você não conseguir responder a essa pergunta, talvez precise repensar o que deseja que a classe faça e considere separar as preocupações. Isso facilitará o nome
Em segundo lugar
Você tem um padrão de como você nomeia suas aulas? Talvez tente examinar alguns padrões de nomenclatura comuns, por exemplo, o padrão, que fica muito mais fácil de seguir depois de abordar o SRP acima. Sua classe analisa XML? Experimente o XMLParser. Ele analisa XML, cria modelos de domínio para representar a entrada, os mantém no banco de dados e depois publica uma mensagem de sucesso no Twitter? Tente refatorar.
Em terceiro lugar
Entendo de onde você é e já passou por uma situação semelhante. Talvez tente aprimorar sua classe com algumas funcionalidades, com um nome temporário para começar. Com qualquer bom IDE ou assistente de refatoração, renomear a classe deve ser uma ação com um clique, para que o nome da sua classe inicialmente não precise ser permanente! Isso ajudará você a superar seu bloco de TOC e dará tempo ao seu subconsciente para processá-lo um pouco mais.
Finalmente e um pouco fora do tópico
Tive um momento decisivo em algum trabalho que realizava no outro dia, implementando um sistema não crítico, e passava um bom tempo brincando com diferentes nomes de classes, etc ... Nomeie suas interfaces de acordo com a funcionalidade, nomeie classes de acordo com sua implementação específica ... Por exemplo, você pode ser tentado a ter IXMLParser e XMLParser, mas o que acontece quando sua entrada é alterada para JSON? Experimente IInputParser, dessa forma, você pode criar classes concretas XMLParser e JSONParser, que implementam o IInputParser de maneiras diferentes.