pertama
Tanyakan kepada diri Anda pertanyaan "apa tujuan tunggal kelas ini?". Tanpa mematuhi Prinsip Tanggung Jawab Tunggal, penamaan kelas dan metode menjadi sangat sulit. Jika Anda tidak dapat menjawab pertanyaan itu, Anda mungkin perlu memikirkan kembali apa yang Anda inginkan dari kelas, dan pertimbangkan untuk memisahkan masalah. Ini akan memudahkan untuk memberi nama
Kedua
Apakah Anda memiliki pola bagaimana Anda memberi nama kelas Anda? Mungkin coba lihat beberapa pola penamaan yang umum, misalnya polanya, yang menjadi lebih mudah diikuti setelah Anda membahas SRP di atas. Apakah kelas Anda menguraikan XML? Coba XMLParser. Apakah ini mem-parsing XML, membuat model domain untuk mewakili input, bertahan mereka ke DB dan kemudian memposting pesan sukses ke Twitter? Coba refactoring.
Ketiga
Saya mengerti dari mana Anda berasal, dan pernah berada dalam situasi yang sama sebelumnya. Mungkin coba menyempurnakan kelas Anda dengan beberapa fungsi, dengan nama sementara untuk memulai. Dengan IDE yang bagus atau asisten refactoring, mengganti nama kelas harus menjadi tindakan satu-klik, jadi apa yang Anda beri nama kelas Anda awalnya tidak perlu permanen! Ini akan membantu Anda melewati blok OCD Anda, dan memberikan waktu bawah sadar Anda untuk memprosesnya sedikit lebih jauh.
Akhirnya dan sedikit keluar dari topik
Saya mengalami momen bola lampu dalam beberapa pekerjaan yang saya lakukan kemarin, menerapkan sistem yang tidak kritis, dan saya menghabiskan waktu yang adil untuk bermain-main dengan penamaan kelas yang berbeda dll ... Beri nama antarmuka Anda sesuai dengan fungsinya, beri nama Anda kelas sesuai dengan penerapan spesifik mereka ... Misalnya, Anda mungkin tergoda untuk memiliki IXMLParser dan XMLParser, tetapi apa yang terjadi ketika input Anda berubah ke JSON? Coba IInputParser sebagai gantinya, dengan cara itu Anda dapat membuat kelas konkret XMLParser dan JSONParser yang keduanya mengimplementasikan IInputParser dengan cara yang berbeda.