Me encontré con un "problema interesante", sobre el cual me gustaría su opinión:
Estoy desarrollando un sistema y por muchas razones (es decir, abstracción, independencia tecnológica, etc.) creamos nuestros propios tipos para intercambiar información.
Por ejemplo: si hay un método que se llama SendEmail y es invocado por la lógica de negocios, tiene un parámetro de tipo OurCompany.EMailMessage, que es un objeto que es completamente independiente de la tecnología y contiene solo "datos relevantes para el negocio" (para instancia, no hay información sobre la codificación de la cabeza).
Dentro de la función SendEmail, obtenemos esta información de nuestro objeto EMailMEssage y creamos un objeto MailMessage (este es específico de la tecnología) para que pueda enviarse a través de la red.
Como ya puede notar, nuestra clase tiene un nombre muy similar a la clase de idioma "nativo". El problema es: esto es exactamente lo que son, mensajes de correo electrónico, por lo que es difícil encontrar otro nombre significativo para ellos.
¿Tienes este problema a menudo? ¿Cómo lo manejas?
Editar: @mgkrebbs acaba de comentar sobre el uso de nombres completos. Este es nuestro enfoque actual, pero un poco demasiado detallado, en mi humilde opinión. Me gustaría algo más limpio, si es posible.