# 10. Nombrado

{% hint style="info" %}
Es de las partes más complicadas de nuestro trabajo, no lo subestimes.
{% endhint %}

### Reglas

1. Nombre revelador: Por qué existe, qué hace, cómo se usa&#x20;
2. Evitar la desinformación&#x20;
   1. Evitar nombres con meta-información (`list` `set`...)
   2. Evitar ruido (`table` para una tabla, `info` `data`)
   3. Elegir 1 término y ser consistentes (`controller` vs `manager`)
      1. Evitar el mapping mental
3. Nombres pronunciables
   1. Una letra únicamente para iteradores locales
   2. Piensa en el buscador del IDE
   3. Notación húngara: ya no es necesaria
   4. Evitar los prefijos (`IShapeFactory`)

```jsx
function verb(noun) { ... }

/** component ~> clase */
function Noun({ props }) { ... }
```
