第一に
「このクラスの唯一の目的は何ですか?」と自問してください。単一責任の原則を遵守しないと、クラスとメソッドの命名が非常に難しくなります。その質問に答えられない場合は、クラスに何をしてほしいかを再考し、懸念事項を分離することを検討する必要があるかもしれません。これにより、名前を付けやすくなります
第二に
クラスに名前を付けるパターンはありますか?たぶん、パターンなど、いくつかの一般的な命名パターンを確認してみてください。これは、上記のSRPに対処すると、理解しやすくなります。クラスはXMLを解析しますか?XMLParserを試してください。XMLを解析し、入力を表すドメインモデルを作成し、DBに永続化して、成功メッセージをTwitterに投稿しますか?リファクタリングしてみてください。
第三に
私はあなたがどこから来たのか理解しており、以前に同じような状況にあったことがあります。おそらく、最初に一時的な名前を付けて、いくつかの機能でクラスを具体化してみてください。優れたIDEまたはリファクタリング支援があれば、クラスの名前変更はワンクリックのアクションになるはずです。そのため、最初にクラスに付ける名前は永続的なものである必要はありません。これは、OCDブロックを乗り越えるのに役立ち、潜在意識がそれをさらに処理する時間を与えます。
最後に、少しオフトピック
先日行ったいくつかの作業で電球の瞬間があり、重要ではないシステムを実装し、クラスのさまざまな名前などをいじくり回していた...機能に応じてインターフェースに名前を付け、特定の実装に応じたクラス...たとえば、IXMLParserとXMLParserを使用したくなるかもしれませんが、入力がJSONに変更されるとどうなりますか?代わりにIInputParserを試してみてください。その方法で、異なる方法でIInputParserを実装する具象クラスXMLParserとJSONParserを作成できます。