Saltar al contenido principal

Anotaciones sobre el libro Clean Code - 3

Capítulo 2 (Nombres con sentido)

Crear nombres correctos

  • La longitud de un nombre DEBE corresponder al tamaño de su ámbito
  • El nombre de una clase NO debe ser un verbo
  • Métodos DEBE tener nombres de verbo
  • No tener miedo a molestias por cambio de nombre de variables (siempre que sea para mejor)

Revelan intenciones

  • ¿Por qué existe?
  • ¿Qué hace?
  • ¿Cómo se usa?
  • Si un nombre requiere un comentario, entonces no revela su cometido

Evitar desinformación

  • No usar palabras lejanas al significado que se pretende
  • Evitar nombres con variaciones mínimas:
    MethodUsedForHandlingOfStrings
    MethodUsedForEfficientStorageOfStrings
    

Distinciones con sentido

  • NO crear código solo para compilador/intérprete
  • Nombres con series numéricas (a1, a2) no son intencionados, desinforman
  • Palabras adicionales son redundantes (a, an, the, variable, info, data, table, NameString son ejemplos)
    // Son nombres distintos pero con el mismo significado
    class Product
    class ProductInfo
    class ProductData
    

Pronunciables

  • Usar nombres pronunciables (a los humanos se nos dan las palabras, si no lo puede pronunciar no lo puede explicar)

Buscables

  • Nombres de una letra y constantes numéricas NO son fáciles de localizar

Evitar codificaciones

  • Al codificar tipos o ámbitos en un nombre se dificulta la decodificación
  • NO es razonable que nuevos empleados tengan que aprender otro lenguaje de codificación además del código a trabajar.

Evitar asignaciones mentales

  • Variables de 1 letra están bien para contadores de ciclos
  • Evitar que el lector del código tenga que mapear la variable con un concepto mentalmente (mejor explícitamente)
  • La diferencia entre un programador inteligente y uno profesional es qué éste último sabe que la claridad es lo que importa

Una palabra por concepto

  • Evitar sinónimos para métodos equivalentes (get, fetch, retrieve)
  • Un léxico coherente es una ventaja para programadores usando su código

Evitar juegos de palabras

  • NO usar la misma palabra si existe diferencia semántica:

    Un método add que añade valores a un objeto existente es diferente a una lista del mismo objeto la cual tiene un método para agregar nuevos elementos. usar la misma palabra crea un juego de palabras por la diferencia semántica de ambos procedimientos.