Il nome è difficile, Martin Fowler e Uncle Bob (Robert C. Martin) lo riconoscono. Ma è solo difficile, perché non siamo davvero bravi in questo. Nemmeno io.
Ancora, lascia che provi a darti un consiglio.
In generale, cerco di evitare nomi che terminano con -er, o -or, perché in genere puntano a riutilizzare nomi di azioni o nomi di metodi come Connector
ha un metodo connect
. Quindi, non nominare le tue classi e oggetti dopo le azioni .
Come sempre, ci sono alcune eccezioni come Utente, Adattatore, ecc.
Inoltre, un buon consiglio viene dallo zio Bob. I nomi si riferiscono all'architettura del sistema e non è necessario assegnare un nome alle classi dopo la tecnologia sottostante, ma dopo il ruolo nel sistema. Se guardi una stampa blu di una biblioteca, puoi vedere quali parti sono gli scaffali dei libri che quale parte sono i posti a sedere e le scrivanie per i lettori, ecc. La stampa blu non indicherà i materiali usati, come legno, cemento, unghie, ecc.
Quindi, assegna un nome alle classi dopo lo scopo che servono invece della tecnologia che hai utilizzato .
Nel tuo caso, fammi provare questo ... Prova a trasferire i messaggi da una coda all'altra, quindi la mia prima ipotesi sarebbe MessageGateway
. Sembra sciocco? Può essere. Ma potresti voler dare un significato più profondo, dicendo che tipo di messaggi vengono trasferiti. Se ritieni che non sia distinto, perché invii tutti i tipi di messaggi su quel Gateway
, forse hai violato il Principio di responsabilità singola e vuoi dividerlo? ... abbastanza da indovinare.
Provalo, è difficile, ma pagherà perché diventerà più facile più nomi hai trovato e più pratica avrai.
Come ho detto ... nominare è difficile, ma continua a provare!
Ulteriori letture:
- Martin Folwer: link
- Clean Code - Robert Martin - Capitolo 2: Naming Discussion: link
- Yegor Bugayenko: link