Convenciones de nombres para modelos
La única prueba que zanja una discusión sobre nombres: ¿alguien que no estuvo en la sala encontrará este elemento dentro de seis meses escribiendo la palabra que usaría?
5 min de lecturaModelling practice3 de 4
La respuesta corta
- La única prueba que zanja una discusión sobre nombres: ¿un desconocido encuentra el elemento en seis meses escribiendo la palabra que usaría?
- Sustantivos en singular para clasificadores, frases verbales para comportamiento. Order, no Orders: que haya muchas lo dice la multiplicidad de la relación.
- El término de negocio va en el modelo y el del código en una nota. Un modelo escrito en el vocabulario del código es ilegible para el público que lo necesitaba.
01La prueba de la buscabilidad#
Las discusiones sobre nombres no se pueden ganar porque ambos bandos discuten sobre gusto. Hay un criterio que no es gusto: dentro de seis meses, ¿encontrará este elemento alguien que no estuvo en esta conversación escribiendo la palabra que usaría para nombrarlo?
Esa pregunta resuelve casi todos los casos sobre los que la gente discute de verdad, y los resuelve en la dirección a la que el consejo convencional ya apunta, buena señal de que la convención nunca fue arbitraria. Además tiene la ventaja de ser comprobable: abre el buscador del modelo, escribe la palabra que usaría un compañero de otro equipo y mira si el elemento aparece.
02Las convenciones que implica la prueba#
| Elemento | Notación | Qué significa |
|---|---|---|
| Clasificadores | Sustantivo en singular | Order, no Orders ni OrderEntity. La multiplicidad dice que hay muchos; el sufijo no dice nada. |
| Operaciones | Verbo y luego objeto | cancel(reason), no orderCancellation(). La clase donde vive ya aporta el sustantivo. |
| Procesos de negocio | Sintagma verbal | Handle claim, no Claim handling. Un proceso es algo que se está haciendo. |
| Servicios | Sintagma nominal | Claim assessment, no Assess claim. Un servicio es algo que se ofrece, y la diferencia con un proceso es justamente el punto. |
| Extremos de asociación | Rol, visto desde el otro lado | manager y reports, que es la única forma en que se lee una asociación de una clase consigo misma. |
| Vistas | Público y pregunta | Payments - what calls the ledger gana a Payments overview, que describe todas las vistas jamás dibujadas. |
La fila de servicio frente a proceso es la que más compensa vigilar en ArchiMate en particular. El lenguaje distingue lo que una organización hace de lo que ofrece, y nombrar ambos con la misma gramática tira esa distinción justo en el punto en que el lector la necesita.
03Siglas, prefijos y aquello sobre lo que discuten los equipos#
Siglas: desarróllalas en la primera definición y luego úsalas.Si el negocio dice de verdad «SLA» y nunca dice «acuerdo de nivel de servicio», el elemento se llama SLA y su descripción contiene el desarrollo, de modo que la búsqueda de cualquiera de las dos palabras lo encuentra. El fallo es un elemento llamado SvcLvlAgmt, que no coincide con ninguna consulta que alguien fuese a escribir.
Prefijos de tipo: no. C_Order, IPayment, tblCustomer: el modelo ya sabe de qué clase es cada elemento y lo dibuja distinto. Un prefijo añade caracteres a todos los nombres e información a ninguno, y coloca alfabéticamente todas las clases del modelo bajo la misma letra.
Idioma: elige uno y déjalo por escrito. Un modelo con nombres de elementos en alemán y nombres de operaciones en inglés es el estado hacia el que los equipos derivan en lugar de elegirlo, y duplica cada búsqueda. Si el vocabulario del negocio no es el inglés, el modelo no está en inglés: esa es una decisión coherente, y muy superior a media decisión.
En una línea cada uno
- 01La prueba es si una persona ajena encuentra el elemento escribiendo la palabra que usaría.
- 02Sustantivos en singular para los clasificadores; verbo y luego objeto para las operaciones.
- 03Sintagma verbal para un proceso, sintagma nominal para un servicio: la distinción sostiene el modelo.
- 04Desarrolla las siglas en la descripción; nunca abrevies hasta algo imposible de buscar.
- 05Sin prefijos de tipo, y un solo idioma por modelo, puesto por escrito.
04Preguntas frecuentes#
¿Cuál es la mejor convención de nombres para UML?
Sustantivos en singular para clasificadores, frases verbales para comportamiento y las palabras que el negocio ya usa en vez de las del código. La convención que elijas importa mucho menos que si un desconocido encuentra el elemento escribiendo la palabra que usaría de forma natural.
¿Los nombres de clase en singular o en plural?
En singular. Una clase describe una instancia, así que Order y no Orders: que haya muchas lo dice la multiplicidad de la relación. El plural pertenece a una tabla de base de datos, que es otra cosa, y por eso las dos suelen no coincidir.
¿Término de negocio o término técnico?
El de negocio, en el modelo. Si el negocio dice siniestro y el código dice case, el modelo dice siniestro y anota la correspondencia. Un modelo en el vocabulario del código solo lo leen quienes ya conocen el código, que es justo el público que menos lo necesitaba.
En esta serie
- 01Qué lenguaje usar
- 02Acotar un modelo
- 03Convenciones de nombres
- 04Mantener un modelo al día
Lecturas relacionadas
Práctica del modelado
Práctica del modelado
Diagramas de estructura
Referencia de notación
Práctica del modelado