Clean JavaScript
$19.99
Precio mínimo
$24.99
Precio sugerido

Clean JavaScript

Aprende a aplicar código limpio, SOLID y Testing

Sobre este libro

JavaScript se ha convertido en uno de los lenguajes más utilizados del mundo, se encuentra en infraestructuras críticas de empresas muy importantes (Facebook, Netflix o Uber lo utilizan).

Por esta razón, se ha vuelto indispensable la necesidad de escribir código de mayor calidad y legibilidad. Y es que, los desarrolladores, por norma general, solemos escribir código sin la intención explícita de que vaya a ser entendido por otra persona, ya que la mayoría de las veces nos centramos simplemente en implementar una solución que funcione y que resuelva el problema. La mayoría de las veces, tratar de entender el código de un tercero o incluso el que escribimos nosotros mismos hace tan solo unas semanas, se puede volver una tarea realmente difícil.

Este pequeño e-book pretende ser una referencia concisa de cómo aplicar clean code, SOLID, unit testing y TDD, para aprender a escribir código JavaScript más legible, mantenible y tolerante a cambios. En este encontrarás múltiples referencias a otros autores y ejemplos sencillos que, sin duda, te ayudarán a encontrar el camino para convertirte en un mejor desarrollador.

El libro también lo puedes obtener directamente en nuestra web con un 25% de descuento. Accede desde aquí.

Sobre el autor

Software Crafters
Software Crafters

Software Crafters es una web sobre artesanía del software, DevOps y tecnologías software con aspiraciones a plataforma de formación y consultoría.

En Software Crafters nos alejamos de dogmatismos y entendemos la artesanía del software, o software craftsmanship, como un mindset en el que, como desarrolladores y apasionados de nuestro trabajo, tratamos de generar el máximo valor, mostrando la mejor versión de uno mismo a través del aprendizaje continuo.

En otras palabras, interpretamos la artesanía de software como un largo camino hacia la maestría, en el que debemos buscar constantemente la perfección, siendo a la vez conscientes de que esta es inalcanzable.

Table of Contents

  • Prefacio
    • Qué no es este libro
  • Agradecimientos
  • Sobre Software Crafters
  • Sobre el autor
  • Introducción
  • Deuda técnica
    • Tipos de deuda
    • Refactoring, las deudas se pagan
    • Mejor prevenir que curar, las reglas del diseño simple
  • SECCIÓN I: CLEAN CODE
  • ¿Qué es Clean Code?
  • Variables, nombres y ámbito
    • Uso correcto de var, let y const
    • Nombres pronunciables y expresivos
    • Ausencia de información técnica en los nombres
    • Establecer un lenguaje ubicuo
    • Nombres según el tipo de dato
      • Arrays
      • Booleanos
      • Números
      • Funciones
      • Clases
    • Ámbito o scope de las variables
      • Ámbito global
      • Ámbito de bloque
      • Ámbito estático vs. dinámico
      • Hoisting
  • Funciones
    • Declaración de una función
    • Expresión de una función
    • Expresiones con funciones flecha (arrow functions)
      • Funcionamiento del objeto this en arrow functions
    • Funciones autoejecutadas IIFE
    • Parámetros y argumentos
      • Limita el número de argumentos
      • Parámetros por defecto
      • Parámetro rest y operador spread
    • Tamaño y niveles de indentación
      • Cláusulas de guarda
      • Evita el uso de else
      • Prioriza las condiciones asertivas
    • Estilo declarativo frente al imperativo
    • Funciones anónimas
    • Transparencia referencial
    • Principio DRY
    • Command–Query Separation (CQS)
    • Algoritmos eficientes
      • Notación O grande (big O)
  • Clases
    • Prototype y ECMAScript moderno
      • Constructores y funciones constructoras
      • Métodos
      • Herencia y cadena de prototipos
    • Tamaño reducido
    • Organización
    • Prioriza la composición frente a la herencia
  • Comentarios y formato
    • Evita el uso de comentarios
    • Formato coherente
      • Problemas similares, soluciones simétricas
      • Densidad, apertura y distancia vertical
      • Lo más importante primero
      • Indentación
  • SECCIÓN II: PRINCIPIOS SOLID
  • Introducción a SOLID
  • De STUPID a SOLID
    • ¿Qué es un code smell?
    • El patrón singleton
    • Alto acoplamiento
      • Acoplamiento y cohesión
    • Código no testeable
    • Optimizaciones prematuras
      • Complejidad esencial y complejidad accidental
    • Nombres poco descriptivos
    • Duplicidad de código
      • Duplicidad real
      • Duplicidad accidental
  • Principios SOLID al rescate
  • SRP - Principio de responsabilidad única
    • ¿Qué entendemos por responsabilidad?
    • Aplicando el SRP
    • Detectar violaciones del SRP:
  • OCP - Principio Abierto/Cerrado
    • Aplicando el OCP
    • Patrón adaptador
    • Detectar violaciones del OCP
  • LSP - Principio de sustitución de Liskov
    • Aplicando el LSP
    • Detectar violaciones del LSP
  • ISP - Principio de segregación de la interfaz
    • Aplicando el ISP
    • Detectar violaciones del ISP
  • DIP - Principio de inversión de dependencias
    • Módulos de alto nivel y módulos de bajo nivel
    • Depender de abstracciones
    • Inyección de dependencias
    • Aplicando el DIP
    • Detectando violaciones del DIP
  • SECCIÓN III: TESTING Y TDD
  • Introducción al testing
  • Tipos de tests de software
    • ¿Qué entendemos por testing?
    • Test manuales vs automáticos
    • Test funcionales vs no funcionales
      • Tests funcionales
      • Tests no funcionales
    • Pirámide de testing
      • Antipatrón del cono de helado
  • Tests unitarios
    • Características de los tests unitarios
    • Anatomía de un test unitario
  • Jest, el framework de testing JavaScript definitivo
    • Características
    • Instalación y configuración
    • Nuestro primer test
    • Aserciones
    • Organización y estructura
    • Gestión del estado: before y after
    • Code coverage
  • TDD - Test Driven Development
    • Las tres leyes del TDD
    • El ciclo Red-Green-Refactor
    • TDD como herramienta de diseño
    • Estrategias de implementación, de rojo a verde.
      • Implementación falsa
      • Triangular
      • Implementación obvia
    • Limitaciones del TDD
  • TDD Práctico: La kata FizzBuzz
    • Las katas de código
    • La kata FizzBuzz
    • Descripción del problema
    • Diseño de la primera prueba
    • Ejecutamos y… ¡rojo!
    • Pasamos a verde
    • Añadiendo nuevas pruebas
    • Refactorizando la solución, aplicando pattern matching.
  • Siguientes pasos
  • Referencias

Authors have earned$9,690,775writing, publishing and selling on Leanpub, earning 80% royalties while saving up to 25 million pounds of CO2 and up to 46,000 trees.

Más información sobre cómo escribir en Leanpub

Leanpub incondicional, sin riesgo, 100% de felicidad garantizada

Durante los primeros 45 días de compra, puedes obtener un reembolso del 100% de cualquier compra Leanpub, en dos clics. Procesamos las restituciones manualmente, así que puede tomarse unos días en aparecer. Véase términos completos.

Actualizaciones gratis. Libre de DRM.

¡Si compras un libro Leanpub obtienes actualizaciones gratis siempre y cuando el autor actualice el libro! Varios autores usan Leanpub para publicar sus libros en progreso mientras los escriben. Todos los lectores obtienen actualizaciones gratis, independientemente de cuándo compraron el libro o cuánto pagaron (incluyendo si fue gratis).

La mayoría de los libros Leanpub se encuentran disponibles en PDF (para computadores), EPUB (para teléfonos y tabletas) y MOBI (para Kindle). Los formatos que un libro incluye se muestran en la esquina superior derecha de esta página.

Finalmente, los libros Leanpub no tienen ninguna de las cosas sin sentido sobre protección de copia DRM, así que puedes leerlos fácilmente en cualquier dispositivo que se soporta.

Aprende más sobre los formatos de Leanpub y dónde puedes leerlos

Escribir y publicar en Leanpub

Los autores y editores usan Leanpub para publicar libros electrónicos sorprendentes en curso y completados, como éste. ¡También puedes utilizar Leanpub para escribir, publicar y vender tu libro! Leanpub es una potente plataforma para autores serios, que combina un flujo de trabajo de escritura y publicación simple y elegante con una tienda centrada en la venta de libros electrónicos en progreso. Leanpub es una máquina de escribir mágica para los autores: basta con escribir en texto plano, y para publicar tu libro electrónico, simplemente haz clic en un botón. Realmente es así de fácil.

Más información sobre cómo escribir en Leanpub