Leanpub Header

Skip to main content

Clean JavaScript

Aprende a aplicar código limpio, SOLID y Testing

Mejora tu código Javascript aplicando Clean Code. Con este e-book aprenderás a escoger mejores nombres para las variables, a escribir funciones más simples y legibles, a diseñar clases mejor estructuradas y otros conceptos que, sin duda, podrás aplicar en tu día a día como desarrollador. En definitiva, este e-book te ayudará a ser mejor profesional

Minimum price

$24.99

$29.99

You pay

$29.99

Author earns

$23.99
$

...Or Buy With Credits!

You can get credits monthly with a Reader Membership
PDF
EPUB
WEB
122
Readers
About

About

About the Book

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í.

Author

About the Author

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.

Translations

Translations

Languages

Contents

Table of Contents

Prefacio

  1. Qué no es este libro

Agradecimientos

Sobre Software Crafters

Sobre el autor

Introducción

Deuda técnica

  1. Tipos de deuda
  2. Refactoring, las deudas se pagan
  3. Mejor prevenir que curar, las reglas del diseño simple

SECCIÓN I: CLEAN CODE

¿Qué es Clean Code?

Variables, nombres y ámbito

  1. Uso correcto de var, let y const
  2. Nombres pronunciables y expresivos
  3. Ausencia de información técnica en los nombres
  4. Establecer un lenguaje ubicuo
  5. Nombres según el tipo de dato
  6. Arrays
  7. Booleanos
  8. Números
  9. Funciones
  10. Clases
  11. Ámbito o scope de las variables
  12. Ámbito global
  13. Ámbito de bloque
  14. Ámbito estático vs. dinámico
  15. Hoisting

Funciones

  1. Declaración de una función
  2. Expresión de una función
  3. Expresiones con funciones flecha (arrow functions)
  4. Funcionamiento del objeto this en arrow functions
  5. Funciones autoejecutadas IIFE
  6. Parámetros y argumentos
  7. Limita el número de argumentos
  8. Parámetros por defecto
  9. Parámetro rest y operador spread
  10. Tamaño y niveles de indentación
  11. Cláusulas de guarda
  12. Evita el uso de else
  13. Prioriza las condiciones asertivas
  14. Estilo declarativo frente al imperativo
  15. Funciones anónimas
  16. Transparencia referencial
  17. Principio DRY
  18. Command–Query Separation (CQS)
  19. Algoritmos eficientes
  20. Notación O grande (big O)

Clases

  1. Prototype y ECMAScript moderno
  2. Constructores y funciones constructoras
  3. Métodos
  4. Herencia y cadena de prototipos
  5. Tamaño reducido
  6. Organización
  7. Prioriza la composición frente a la herencia

Comentarios y formato

  1. Evita el uso de comentarios
  2. Formato coherente
  3. Problemas similares, soluciones simétricas
  4. Densidad, apertura y distancia vertical
  5. Lo más importante primero
  6. Indentación

SECCIÓN II: PRINCIPIOS SOLID

Introducción a SOLID

De STUPID a SOLID

  1. ¿Qué es un code smell?
  2. El patrón singleton
  3. Alto acoplamiento
  4. Acoplamiento y cohesión
  5. Código no testeable
  6. Optimizaciones prematuras
  7. Complejidad esencial y complejidad accidental
  8. Nombres poco descriptivos
  9. Duplicidad de código
  10. Duplicidad real
  11. Duplicidad accidental

Principios SOLID al rescate

SRP - Principio de responsabilidad única

  1. ¿Qué entendemos por responsabilidad?
  2. Aplicando el SRP
  3. Detectar violaciones del SRP:

OCP - Principio Abierto/Cerrado

  1. Aplicando el OCP
  2. Patrón adaptador
  3. Detectar violaciones del OCP

LSP - Principio de sustitución de Liskov

  1. Aplicando el LSP
  2. Detectar violaciones del LSP

ISP - Principio de segregación de la interfaz

  1. Aplicando el ISP
  2. Detectar violaciones del ISP

DIP - Principio de inversión de dependencias

  1. Módulos de alto nivel y módulos de bajo nivel
  2. Depender de abstracciones
  3. Inyección de dependencias
  4. Aplicando el DIP
  5. Detectando violaciones del DIP

SECCIÓN III: TESTING Y TDD

Introducción al testing

Tipos de tests de software

  1. ¿Qué entendemos por testing?
  2. Test manuales vs automáticos
  3. Test funcionales vs no funcionales
  4. Tests funcionales
  5. Tests no funcionales
  6. Pirámide de testing
  7. Antipatrón del cono de helado

Tests unitarios

  1. Características de los tests unitarios
  2. Anatomía de un test unitario

Jest, el framework de testing JavaScript definitivo

  1. Características
  2. Instalación y configuración
  3. Nuestro primer test
  4. Aserciones
  5. Organización y estructura
  6. Gestión del estado: before y after
  7. Code coverage

TDD - Test Driven Development

  1. Las tres leyes del TDD
  2. El ciclo Red-Green-Refactor
  3. TDD como herramienta de diseño
  4. Estrategias de implementación, de rojo a verde.
  5. Implementación falsa
  6. Triangular
  7. Implementación obvia
  8. Limitaciones del TDD

TDD Práctico: La kata FizzBuzz

  1. Las katas de código
  2. La kata FizzBuzz
  3. Descripción del problema
  4. Diseño de la primera prueba
  5. Ejecutamos y… ¡rojo!
  6. Pasamos a verde
  7. Añadiendo nuevas pruebas
  8. Refactorizando la solución, aplicando pattern matching.

Siguientes pasos

Referencias

Get the free sample chapters

Click the buttons to get the free sample in PDF or EPUB, or read the sample online here

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub