Cómo escribir código del que se sienta orgulloso... todos los días
En 'La artesanía del código limpio' el legendario Robert C. Martin ('Uncle Bob') ha escrito los principios que definen la profesión (y el arte) del desarrollo de software.
Índice
Agradecimientos
Sobre el autor
Prólogo
Prefacio
Sobre el término "artesanía"
Sobre el Único camino verdadero
Introducción al libro
Para usted
Para la sociedad
La estructura de este libro
Nota para jefes
Vídeos
Imágenes y referencias
1. Artesanía
Parte I. Las disciplinas
Programación Extrema
El círculo de la vida
Desarrollo guiado por pruebas
La refactorización
Diseño simple
Programación colaborativa
Pruebas de aceptación
2. Desarrollo guiado por pruebas (TDD)
Panorama general
Software
Las tres leyes del TDD
La cuarta ley
Conceptos básicos
Ejemplos simples
Stack55
Factores primos
La partida de bolos
Conclusión
3. TDD avanzado
Ordenamiento 1
Ordenamiento 2
Atascarse
Arrange, Act, Assert
Llega el BDD
Máquina de estados finitos
Otra vez el BDD
Dobles de pruebas
Dummy
Stub
Spy
Mock
Fake
El principio de incertidumbre del TDD
Londres frente a Chicago
El problema de la certeza
Londres
Chicago
Síntesis
Arquitectura
Conclusión
4. Diseño de pruebas
Probar bases de datos
Probar GUI
Entrada de GUI
Patrones de pruebas
Test-specific subclass
Self-Shunt
Humble Object
Diseño de pruebas
El problema de las pruebas frágiles
La correspondencia uno a uno
Romper la correspondencia
El videoclub
Especificidad frente a generalidad
Premisa de prioridad de transformación
{} / Nulo
Nulo / Constante
Constante / Variable
Incondicional / Selección
Valor / Lista
Sentencia / Recursividad
Selección / Iteración
Valor / Valor mutado
Ejemplo: Fibonacci
La premisa de prioridad de transformación
Conclusión
5. Refactorización
¿Qué es la refactorización?
El kit de herramientas básico
Cambiar nombre
Extraer método
Extraer variable
Extraer campo
El cubo de Rubik
Las disciplinas
Pruebas
Pruebas rápidas
Romper todas las correspondencias uno a uno profundas
Refactorice continuamente
Refactorice sin piedad
¡Que sigan pasándose las pruebas!
Déjese una salida
Conclusión
6. Diseño simple
YAGNI
Cubierto por pruebas
Cobertura
Un objetivo asintótico
¿Diseño?
Pero hay más
Maximizar la expresión
La abstracción subyacente
Pruebas: la otra mitad del problema
Minimizar la duplicación
Duplicación accidental
Minimizar el tamaño
Diseño simple
7. Programación colaborativa
8. Pruebas de aceptación
La disciplina
La construcción continua
Parte II. Los estándares
Su nuevo director de tecnología
9. Productividad
Nunca enviaremos c**a
Adaptabilidad barata
Siempre estaremos listos
Productividad estable
10. Calidad
Mejora continua
Competencia sin miedo
Calidad extrema
No le echamos el muerto a QA
La enfermedad de QA
QA no encontrará nada
Automatización de pruebas
Pruebas automatizadas e interfaces de usuario
Probar la interfaz de usuario
11. Valor
Nos cubrimos unos a otros
Estimaciones honestas
Debe decir 'no'
Aprendizaje agresivo continuo
Enseñanza
Parte III. La ética
El primer programador
Setenta y cinco años
Empollones y salvadores
Modelos a imitar y villanos
Gobernamos el mundo
Catástrofes
El juramento
12. Daño
Primero, no cause daño
No causar daño a la sociedad
No causar daño a la función
No causar daño a la estructura
Soft
Pruebas
El mejor trabajo
Hacerlo bien
¿Qué es una buena estructura?
La matriz de Eisenhower
Programadores como partes interesadas
Lo mejor
Prueba repetible
Dijkstra
Demostrar la corrección
Programación estructurada
Descomposición funcional
Desarrollo guiado por pruebas
13. Integridad
Ciclos pequeños
La historia del control del código fuente
Git
Ciclos cortos
Integración continua
Ramas frente a toggles
Despliegue continuo
Construcción continua
Mejora incansable
Cobertura de las pruebas
Prueba de mutaciones
Estabilidad semántica
Limpieza
Creaciones
Mantener una productividad alta
Viscosidad
Gestionar las distracciones
Gestión del tiempo
14. Trabajo en equipo
Trabajar como un equipo
Oficina abierta/virtual
Estimar de forma honesta y justa
Mentiras
Honestidad, exactitud, precisión
Historia 1: Vectores
Historia 2: pCCU
La lección
Exactitud
Precisión
Agregación
Honestidad
Respeto
Nunca deje de aprender
Índice alfabético
Comparte este libro
Sinopsis
Cómo escribir código del que se sienta orgulloso... todos los días
En 'La artesanía del código limpio' el legendario Robert C. Martin ('Uncle Bob') ha escrito los principios que definen la profesión (y el arte) del desarrollo de software. Uncle Bob reúne las disciplinas, los estándares y la ética que necesita para entregar un software sólido y efectivo y para estar orgulloso de todo el software que escribe.
Robert Martin, el autor de los best sellers 'Código limpio', 'El limpiador de código', 'Arquitectura limpia' y 'Desarrollo ágil esencial' ofrece una perspectiva pragmática, técnica y prescriptiva de las disciplinas que forman los cimientos de la artesanía de software. Explica los estándares, mostrando cómo las expectativas que el mundo tiene sobre los desarrolladores difieren a menudo de las que tienen ellos mismos, y nos ayuda a sincronizarlas. Bob termina con la ética de la profesión del programador, describiendo las promesas fundamentales que todos los desarrolladores deberían hacer a sus colegas, a sus usuarios y, sobre todo, a sí mismos.
Con las aportaciones de Uncle Bob, todos los programadores y sus directores pueden entregar de manera consistente código que genera confianza en vez de socavarla, confianza entre los usuarios y entre las sociedades que dependen del software para su supervivencia:
* Avanzar hacia la 'Estrella Polar' de la verdadera artesanía de software: el estado de saber cómo programar bien.
* Orientación práctica y específica para aplicar cinco disciplinas esenciales: desarrollo guiado por pruebas, refactorización, diseño simple, programación colaborativa y pruebas de aceptación.
* Cómo los desarrolladores y los equipos pueden fomentar la productividad, la calidad y el valor.
* El verdadero significado de la integridad y el trabajo en equipo entre programadores, y diez promesas específicas que todo profesional del software debería hacer.
Colección
TÍTULOS ESPECIALES
Código
2315169
I.S.B.N.
978-84-415-4499-4
Publicación 17/02/2022
Clasificación IBIC
UMA
Formato
Papel
Páginas
336
Colección
TÍTULOS ESPECIALES
Código
2382314
I.S.B.N.
978-84-415-4530-4
Publicación 17/02/2022
Clasificación IBIC
UMA
Formato
ePub
Autor
Robert C. Martin
Robert C. Martin (Uncle Bob) es programador desde 1970. Es el fundador de Uncle Bob Consulting, LLC, y cofundador, junto a su hijo Micah Martin, de The Clean Coders, LLC. Martin ha publicado docenas de artículos y varias revistas profesionales y es orador habitual en conferencias y ferias internacionales. Ha escrito y editado muchos libros, entre ellos: 'Designing Object-Oriented C++ Applications Using the Booch Method', 'Pattern Languages of Program Design 3', 'More C++ Gems', 'Extreme Programming in Practice', 'Agile Software Development: Principles, Patterns, and Practices', 'UML para programadores Java', 'Código limpio', 'El limpiador de código', 'Arquitectura limpia', 'La artesanía del código limpio' y 'Desarrollo ágil esencial'.
Líder en la industria del desarrollo de software, Martin trabajó como editor jefe de C++ Report y fue el primer presidente de la Alianza Ágil.