
1000+ Libros Gratis
1 Millón+ Mentes Brillantes
21,717
INSTALAR
Inicie su prueba gratuita
Iniciar sesión
Prueba gratuita
Última actualización 2025/05/16
El contenido basado en la versión en inglés
Mejores frases del Código limpio por Robert C. Martin con números de página
Capítulo 1 | Frases de las páginas -63

Elegir buenos nombres lleva tiempo, pero ahorra más de lo que cuesta. Así que cuida tus nombres y cámbialos cuando encuentres mejores.
Robert C. Martin

1/6
Editar imagen
Elegir buenos nombres lleva tiempo, pero ahorra más de lo que cuesta. Así que cuida tus nombres y cámbialos cuando encuentres mejores.
Interpretar citas
Esta cita enfatiza la importancia de invertir tiempo en seleccionar nombres adecuados para variables, funciones y clases en programación. Buenos nombres sirven como documentación que hace que el código sea más comprensible para todos los desarrolladores, incluidos los futuros mantenedores. Cuando priorizamos la claridad y la intención en nuestra nomenclatura, el código se vuelve más fácil de leer, navegar y modificar a largo plazo.
Si un nombre requiere un comentario, entonces el nombre no revela su intención.
Robert C. Martin

2/6
Editar imagen
Si un nombre requiere un comentario, entonces el nombre no revela su intención.
Interpretar citas
Esta afirmación subraya un principio fundamental del Código limpio: la importancia de nombres autodescriptivos. Un nombre bien elegido debería transmitir inherentemente su propósito y función, haciendo innecesarios comentarios adicionales. Cuando un nombre carece de claridad, crea cargas cognitivas en el lector, complicando la comprensión y el mantenimiento del código.
El poder de elegir buenos nombres no puede ser subestimado.
Robert C. Martin

3/6
Editar imagen
El poder de elegir buenos nombres no puede ser subestimado.
Interpretar citas
Esto resalta el impacto transformador que las convenciones de nomenclatura claras y significativas pueden tener en la calidad del código. Nombres reflexivos mejoran la legibilidad y reducen el tiempo que los desarrolladores dedican a descifrar la lógica. Al traducir conceptos complejos en términos comprensibles, los programadores fomentan una mejor colaboración y eficiencia en su trabajo.
Los programadores deben evitar dejar pistas falsas que oscurezcan el significado del código.
Robert C. Martin

4/6
Editar imagen
Los programadores deben evitar dejar pistas falsas que oscurezcan el significado del código.
Interpretar citas
Esta cita advierte sobre el uso de nombres engañosos o ambiguos que podrían confundir al lector. Sugiere que la claridad del código es primordial y que los nombres deben reflejar con precisión su funcionalidad y contexto. Evitar desinformación en la nomenclatura ayuda a preservar la integridad de la comprensión del código para todos quienes interactúan con él.
Los profesionales usan sus poderes para el bien y escriben código que otros pueden entender.
Robert C. Martin

5/6
Editar imagen
Los profesionales usan sus poderes para el bien y escriben código que otros pueden entender.
Interpretar citas
Esta afirmación establece una clara distinción entre la simple inteligencia y el profesionalismo en las prácticas de codificación. Un programador profesional prioriza la claridad y mantenibilidad de su código, reconociendo que lo que puede parecer ingenioso o eficiente para él podría ser incomprensible para otros. Esta perspectiva aboga por entornos de codificación colaborativa donde la comprensión compartida es crucial.
No te pongas ingenioso con los nombres; claridad por encima del valor de entretenimiento.
Robert C. Martin

6/6
Editar imagen
No te pongas ingenioso con los nombres; claridad por encima del valor de entretenimiento.
Interpretar citas
Esta afirmación enfatiza que nombres ingeniosos o humorísticos pueden llevar a confusiones y hacer que el código sea difícil de entender para alguien no familiarizado con el contexto. Es vital elegir nombres que reflejen su comportamiento y función reales de manera sencilla, permitiendo que cualquier desarrollador comprenda el propósito del código sin saltos mentales innecesarios.

Descarga la aplicación Bookey para disfrutar
1000 + Resúmenes de libros , 80 + Temas
Nuevos títulos añadidos cada semana
¡Prueba gratuita disponible!
Escanear para descargar
¡Pruébalo ahora gratis!
Capítulo 2 | Frases de las páginas 64-85

Las funciones deben hacer una cosa. Deben hacerla bien. Deben hacerla solo.
Robert C. Martin

1/6
Editar imagen
Las funciones deben hacer una cosa. Deben hacerla bien. Deben hacerla solo.
Interpretar citas
Esta cita enfatiza la importancia de la simplicidad en las funciones de programación. Al asegurarse de que una función esté enfocada en una única responsabilidad, los desarrolladores pueden crear código que sea más legible y fácil de mantener. Cuando las funciones están definidas de manera precisa, se vuelven predecibles, reduciendo la complejidad y los posibles errores, lo que contribuye a un Código limpio y más efectivo.
¡Pequeñas! La primera regla de las funciones es que deben ser pequeñas. La segunda regla de las funciones es que deben ser más pequeñas que eso.
Robert C. Martin

2/6
Editar imagen
¡Pequeñas! La primera regla de las funciones es que deben ser pequeñas. La segunda regla de las funciones es que deben ser más pequeñas que eso.
Interpretar citas
El autor aboga por el minimalismo en el diseño de funciones, sugiriendo que el tamaño de las funciones se mantenga al mínimo para una mejor comprensión. Las funciones más pequeñas promueven la claridad porque obligan a los desarrolladores a considerar lo que una función debería hacer, llevando a una nomenclatura y organización del código más claras. Este principio no solo sirve para mejorar la legibilidad, sino que también facilita que otros comprendan la lógica general del programa.
El código debe leerse como una narrativa de arriba hacia abajo. Queremos que cada función esté seguida por las del siguiente nivel de abstracción para que podamos leer el programa, descendiendo un nivel de abstracción a la vez mientras bajamos por la lista de funciones.
Robert C. Martin

3/6
Editar imagen
El código debe leerse como una narrativa de arriba hacia abajo. Queremos que cada función esté seguida por las del siguiente nivel de abstracción para que podamos leer el programa, descendiendo un nivel de abstracción a la vez mientras bajamos por la lista de funciones.
Interpretar citas
Esta cita subraya la importancia de estructurar el código de una manera que refleje una narrativa lógica. Al organizar las funciones en una jerarquía de abstracción descendente, los programadores pueden crear un flujo que guía al lector a través del código de manera más intuitiva. Este enfoque mejora la mantenibilidad del código, ya que se vuelve más fácil seguir la lógica del programa sin perderse en abstracciones complejas.
Usa nombres descriptivos. Es difícil sobreestimar el valor de buenos nombres.
Robert C. Martin

4/6
Editar imagen
Usa nombres descriptivos. Es difícil sobreestimar el valor de buenos nombres.
Interpretar citas
Elegir nombres efectivos y descriptivos para funciones y variables es crucial en programación. La nomenclatura descriptiva proporciona contexto y claridad, permitiendo a los lectores entender el propósito de una función sin tener que indagar en su implementación. Esta práctica no solo mejora la legibilidad del código, sino que también apoya una mejor colaboración entre programadores, ya que establece expectativas claras sobre lo que cada parte del código está destinada a hacer.
Prefiere excepciones a devolver códigos de error.
Robert C. Martin

5/6
Editar imagen
Prefiere excepciones a devolver códigos de error.
Interpretar citas
Utilizar excepciones en lugar de códigos de error crea una distinción más clara entre la operación normal y el manejo de errores. Esta separación simplifica el flujo del código y lo hace más fácil de leer al mantener el manejo de errores separado de la lógica de negocio. Además, las excepciones permiten un mejor manejo de situaciones inesperadas y conducen a un código que es más robusto y mantenible.
No te repitas (DRY).
Robert C. Martin

6/6
Editar imagen
No te repitas (DRY).
Interpretar citas
El principio DRY aboga por reducir la duplicación en el código para minimizar errores y mejorar la mantenibilidad. Al evitar fragmentos de código repetidos, los desarrolladores pueden garantizar que cualquier cambio solo necesite hacerse una vez, disminuyendo así las posibilidades de introducir errores. Este principio anima a los programadores a crear funciones y componentes reutilizables que encapsulen la funcionalidad, llevando a bases de código más limpias y eficientes.
Capítulo 3 | Frases de las páginas 86-107

No comentes código malo, reescríbelo.” —Brian W. Kernighan y P. J. Plaugher
Robert C. Martin

1/7
Editar imagen
No comentes código malo, reescríbelo.” —Brian W. Kernighan y P. J. Plaugher
Interpretar citas
Esta cita expresa una verdad contundente sobre la programación: en lugar de depender de comentarios para explicar o excusar un código deficiente, los desarrolladores deberían centrarse en mejorar la calidad del código en sí. El código malo a menudo indica deficiencias en la estructura o claridad, y agregar comentarios solo oculta estos problemas sin abordarlos. El mensaje subyacente anima a los programadores a esforzarse por la excelencia en las prácticas de codificación, donde la claridad y la expresividad son prioritarias, reduciendo la necesidad de comentarios explicativos.
Un código claro y expresivo con pocos comentarios es muy superior a un código desordenado y complejo con muchos comentarios.
Robert C. Martin

2/7
Editar imagen
Un código claro y expresivo con pocos comentarios es muy superior a un código desordenado y complejo con muchos comentarios.
Interpretar citas
Esta afirmación enfatiza la importancia de escribir código que sea autoexplicativo y fácil de entender. Cuando los desarrolladores escriben código limpio y directo, la necesidad de comentarios disminuye, permitiendo al lector comprender la funcionalidad sin contexto adicional. La búsqueda de la simplicidad en la codificación no solo mejora el mantenimiento, sino que también fomenta la colaboración entre los desarrolladores que interactuarán con el código en el futuro.
El uso adecuado de los comentarios es compensar nuestra incapacidad para expresarnos en código.
Robert C. Martin

3/7
Editar imagen
El uso adecuado de los comentarios es compensar nuestra incapacidad para expresarnos en código.
Interpretar citas
Aquí, el autor concede que los comentarios, aunque a menudo se consideran necesarios, surgen de una incapacidad para comunicarse efectivamente a través del código. Idealmente, el código debería transmitir su propósito y funcionalidad sin explicaciones suplementarias. Esto refuerza la responsabilidad de los programadores de desarrollar sus habilidades de codificación y aprovechar al máximo las capacidades expresivas de sus lenguajes de programación, buscando un estándar donde el uso de comentarios sea mínimo.
Los comentarios inexactos son mucho peores que no tener comentarios en absoluto.
Robert C. Martin

4/7
Editar imagen
Los comentarios inexactos son mucho peores que no tener comentarios en absoluto.
Interpretar citas
Esta cita destaca un problema crítico: los comentarios desactualizados o incorrectos pueden engañar a los desarrolladores y crear confusión, esencialmente son mentiras en el código. El autor advierte sobre el peligro de depender de comentarios que pueden no reflejar el estado actual del código, abogando en cambio por un código que sea tan claro que anule la necesidad de comentarios. Promueve la idea de que la verdad reside en el código mismo, enfatizando la necesidad de prácticas de programación precisas y actualizadas.
Cada vez que te expresas en código, deberías darte una palmadita en la espalda. Cada vez que escribes un comentario, deberías hacer una mueca y sentir el fracaso de tu habilidad de expresión.
Robert C. Martin

5/7
Editar imagen
Cada vez que te expresas en código, deberías darte una palmadita en la espalda. Cada vez que escribes un comentario, deberías hacer una mueca y sentir el fracaso de tu habilidad de expresión.
Interpretar citas
Esta provocativa afirmación desafía a los programadores a encontrar orgullo en su capacidad para articular la intención a través del código que escriben en lugar de recurrir a comentarios. Subraya el valor de expresar lógica y funcionalidad de manera sucinta dentro de la estructura del código, reforzando una cultura de excelencia en las prácticas de codificación. Al hacerlo, los desarrolladores no solo mejoran sus habilidades, sino que también contribuyen a crear un entorno de software más comprensible.
La verdad solo puede encontrarse en un lugar: el código. Solo el código puede decirte realmente lo que hace.
Robert C. Martin

6/7
Editar imagen
La verdad solo puede encontrarse en un lugar: el código. Solo el código puede decirte realmente lo que hace.
Interpretar citas
La afirmación aquí es que el código mismo es la fuente definitiva de verdad en cuanto a su función y comportamiento. Los comentarios pueden servir como contexto adicional, pero pueden volverse no confiables o engañosos con el tiempo. Esta cita subraya la necesidad de que el código sea auto-documentado, enfatizando que el enfoque principal debe estar en escribir código que sea claro y entendible por sí mismo.
Los buenos comentarios son informativos y necesarios, pero siguen siendo una concesión a la incapacidad del código para expresarse adecuadamente.
Robert C. Martin

7/7
Editar imagen
Los buenos comentarios son informativos y necesarios, pero siguen siendo una concesión a la incapacidad del código para expresarse adecuadamente.
Interpretar citas
Un buen comentario sirve para aclarar un contexto o intención específicos en el código, ilustrando que, aunque pueden ser útiles, deben verse como una medida secundaria. El escenario ideal es que el código sea inherentemente lo suficientemente claro como para que tales comentarios sean innecesarios. Esta perspectiva motiva a los desarrolladores a mejorar sus habilidades de codificación hasta el punto en que minimicen la dependencia de explicaciones externas.
Capítulo 4 | Frases de las páginas 108-125

Si en cambio ven una masa de código desordenada que parece haber sido escrita por un grupo de marineros borrachos, es probable que concluyan que la misma falta de atención al detalle permea cada otro aspecto del proyecto.
Robert C. Martin

1/7
Editar imagen
Si en cambio ven una masa de código desordenada que parece haber sido escrita por un grupo de marineros borrachos, es probable que concluyan que la misma falta de atención al detalle permea cada otro aspecto del proyecto.
Interpretar citas
Esta cita resalta la importancia de mantener un código limpio y organizado. Sugiere que la forma en que se formatea el código refleja el profesionalismo general y la atención a los detalles en un proyecto. Una estructura de código caótica puede generar percepciones negativas no solo sobre el código en sí, sino también sobre la calidad y fiabilidad de todo el proyecto.
El formato del código es importante. Es demasiado importante para ignorarlo y demasiado importante para tratarlo de manera superficial.
Robert C. Martin

2/7
Editar imagen
El formato del código es importante. Es demasiado importante para ignorarlo y demasiado importante para tratarlo de manera superficial.
Interpretar citas
Aquí, el autor subraya la naturaleza crítica del formato adecuado del código. No es solo una elección estética; impacta fundamentalmente en cómo los desarrolladores se comunican a través del código. Un código bien formateado mejora la legibilidad, la mantenibilidad y la colaboración, lo que implica que los desarrolladores deben priorizar y adherirse a los estándares de formato.
La funcionalidad que creas hoy tiene una buena probabilidad de cambiar en la próxima versión, pero la legibilidad de tu código tendrá un efecto profundo en todos los cambios que se realicen.
Robert C. Martin

3/7
Editar imagen
La funcionalidad que creas hoy tiene una buena probabilidad de cambiar en la próxima versión, pero la legibilidad de tu código tendrá un efecto profundo en todos los cambios que se realicen.
Interpretar citas
Esta afirmación enfatiza la naturaleza efímera de la funcionalidad del código frente al impacto duradero de la legibilidad del mismo. A medida que los proyectos evolucionan, la capacidad de los desarrolladores para entender y modificar el código existente sin confusión afecta significativamente los ciclos de desarrollo futuros. Sirve como recordatorio de que escribir código legible es una inversión en la salud a largo plazo de cualquier proyecto de software.
Los archivos pequeños son generalmente más fáciles de entender que los archivos grandes.
Robert C. Martin

4/7
Editar imagen
Los archivos pequeños son generalmente más fáciles de entender que los archivos grandes.
Interpretar citas
Esta cita aboga por archivos de código más pequeños y manejables. Sugiere que dividir el código en segmentos más pequeños no solo mejora la comprensión, sino que también se alinea con las mejores prácticas en el diseño de software. Los archivos más pequeños contribuyen a una comprensión más clara de la funcionalidad y facilitan la depuración y modificaciones.
Debes asegurarte de que tu código esté bien formateado.
Robert C. Martin

5/7
Editar imagen
Debes asegurarte de que tu código esté bien formateado.
Interpretar citas
Esta directriz directa encapsula un principio fundamental del Código limpio. Hace un llamado a los desarrolladores para que sean deliberados e intencionales sobre el formato de su código para garantizar claridad y coherencia. Tal atención al detalle es vital para fomentar la colaboración y mejorar la calidad general del software.
La última cosa que queremos hacer es añadir más complejidad al código fuente escribiéndolo en una mezcla de diferentes estilos individuales.
Robert C. Martin

6/7
Editar imagen
La última cosa que queremos hacer es añadir más complejidad al código fuente escribiéndolo en una mezcla de diferentes estilos individuales.
Interpretar citas
Esta cita describe los riesgos de los estilos de codificación inconsistentes dentro de un equipo. Las inconsistencias pueden llevar a confusión y aumentar la carga cognitiva en los desarrolladores, dificultando la comprensión del código. Un estilo unificado es crucial para una colaboración fluida y para mantener una base de código que todos puedan navegar fácilmente.
Necesitamos tener un estilo consistente y fluido. El lector necesita confiar en que los gestos de formato que ha visto en un archivo fuente significarán lo mismo en otros.
Robert C. Martin

7/7
Editar imagen
Necesitamos tener un estilo consistente y fluido. El lector necesita confiar en que los gestos de formato que ha visto en un archivo fuente significarán lo mismo en otros.
Interpretar citas
Este extracto habla sobre la importancia de la consistencia en el formato del código a lo largo de un proyecto. Cuando los desarrolladores se adhieren a pautas de formato comunes, se crea confianza y familiaridad, lo que facilita que los miembros del equipo lean y entiendan el código de los demás. La consistencia es clave para una base de código cohesiva y un trabajo en equipo efectivo.
Capítulo 5 | Frases de las páginas -135

No queremos que nadie más dependa de ellos. Queremos mantener la libertad de cambiar su tipo o implementación según el capricho o el impulso.
Robert C. Martin

1/6
Editar imagen
No queremos que nadie más dependa de ellos. Queremos mantener la libertad de cambiar su tipo o implementación según el capricho o el impulso.
Interpretar citas
Esta cita enfatiza la importancia de la encapsulación en el desarrollo de software. Al mantener las variables privadas, los desarrolladores conservan la flexibilidad para cambiar cómo se representa o implementa la información sin afectar otras partes del código. Esto fomenta una arquitectura más robusta y adaptable, minimizando el riesgo de introducir errores al realizar cambios.
¡Ocultar la implementación se trata de abstracciones! Una clase no simplemente expone sus variables a través de getters y setters. Más bien, expone interfaces abstractas que permiten a sus usuarios manipular la esencia de los datos, sin necesidad de conocer su implementación.
Robert C. Martin

2/6
Editar imagen
¡Ocultar la implementación se trata de abstracciones! Una clase no simplemente expone sus variables a través de getters y setters. Más bien, expone interfaces abstractas que permiten a sus usuarios manipular la esencia de los datos, sin necesidad de conocer su implementación.
Interpretar citas
Esta afirmación resalta el principio de la abstracción en la programación orientada a objetos. Al utilizar interfaces abstractas en lugar de exponer datos internos directamente, las clases proporcionan una forma más limpia e intuitiva para que los usuarios interactúen con los datos. Esto no solo protege la integridad de los datos, sino que también fomenta el diseño de un código más limpio y mantenible.
Lo que es difícil para OO es fácil para los procedimientos, y lo que es difícil para los procedimientos es fácil para OO.
Robert C. Martin

3/6
Editar imagen
Lo que es difícil para OO es fácil para los procedimientos, y lo que es difícil para los procedimientos es fácil para OO.
Interpretar citas
Aquí, Martin ilustra los compromisos fundamentales entre la programación orientada a objetos y la programación procedural. Cada enfoque tiene fortalezas y debilidades, y entender esto puede ayudar a los desarrolladores a elegir el paradigma apropiado según las necesidades específicas del proyecto, ya sea agregar nuevos tipos de datos o nuevas funciones.
La Ley de Demeter dice que un método f de una clase C solo debe llamar a los métodos de estos: C, un objeto creado por f, un objeto pasado como argumento a f, un objeto mantenido en una variable de instancia de C.
Robert C. Martin

4/6
Editar imagen
La Ley de Demeter dice que un método f de una clase C solo debe llamar a los métodos de estos: C, un objeto creado por f, un objeto pasado como argumento a f, un objeto mantenido en una variable de instancia de C.
Interpretar citas
Esta cita destila la esencia de la Ley de Demeter, que promueve un bajo acoplamiento y una alta cohesión dentro del código. Al restringir cómo los métodos interactúan entre sí, esta ley ayuda a prevenir 'accidentes' donde los objetos están demasiado entrelazados, lo que conduce a sistemas que son más fáciles de entender y mantener.
La peor opción es agregar sin pensar getters y setters. Se debe pensar seriamente en la mejor manera de representar los datos que contiene un objeto.
Robert C. Martin

5/6
Editar imagen
La peor opción es agregar sin pensar getters y setters. Se debe pensar seriamente en la mejor manera de representar los datos que contiene un objeto.
Interpretar citas
En este comentario, Martin advierte contra el uso irreflexivo de getters y setters, lo que puede diluir los principios de la encapsulación. En cambio, aboga por una consideración cuidadosa de cómo representar los datos dentro de los objetos, instando a los desarrolladores a reflexionar críticamente sobre la interacción de los datos para fomentar un mejor diseño y arquitectura.
Los buenos desarrolladores de software entienden estos problemas sin prejuicios y eligen el enfoque que mejor se adapte al trabajo en cuestión.
Robert C. Martin

6/6
Editar imagen
Los buenos desarrolladores de software entienden estos problemas sin prejuicios y eligen el enfoque que mejor se adapte al trabajo en cuestión.
Interpretar citas
Aquí, Martin subraya la importancia de la flexibilidad y el pragmatismo en el desarrollo. Los desarrolladores hábiles deben ser capaces de evaluar el contexto único de su proyecto y seleccionar la mejor solución, ya sea aprovechando los principios orientados a objetos o técnicas procedimentales, en lugar de adherirse rígidamente a una filosofía.
Capítulo 6 | Frases de las páginas 136-145

El manejo de errores es importante, pero si oscurece la lógica, está mal.
Robert C. Martin

1/5
Editar imagen
El manejo de errores es importante, pero si oscurece la lógica, está mal.
Interpretar citas
Esta cita enfatiza el delicado equilibrio necesario en la programación entre la gestión de errores y el mantenimiento de la claridad del código. Si bien el manejo de errores es esencial para prevenir fallos y asegurar robustez, si los mecanismos para manejar errores eclipsan la lógica central del programa, puede llevar a la confusión. El Código limpio debe separar elegantemente la lógica del manejo de errores, contribuyendo tanto a la legibilidad como a la mantenibilidad.
Cuando ejecutas código en la parte try de una declaración try-catch-finally, estás afirmando que la ejecución puede abortar en cualquier momento y luego reanudarse en el catch.
Robert C. Martin

2/5
Editar imagen
Cuando ejecutas código en la parte try de una declaración try-catch-finally, estás afirmando que la ejecución puede abortar en cualquier momento y luego reanudarse en el catch.
Interpretar citas
Esta afirmación ilustra la estructura única y el control de flujo que el manejo de excepciones proporciona dentro de la programación. La construcción try-catch-finally es más que una sintaxis; altera fundamentalmente cómo manejamos posibles errores, permitiendo a los desarrolladores definir mecanismos de respaldo en caso de que ocurra un error. Esto ayuda a escribir código más claro y resistente al asegurarse de que el manejo de errores esté planificado y visible.
Define las Clases de Excepciones en Términos de las Necesidades del Llamador.
Robert C. Martin

3/5
Editar imagen
Define las Clases de Excepciones en Términos de las Necesidades del Llamador.
Interpretar citas
Aquí se destaca la importancia de un diseño de excepciones reflexivo, sugiriendo que las excepciones deben ser relevantes para el contexto en el que se utilizan. Este enfoque promueve una mejor encapsulación y ayuda a los desarrolladores a crear APIs más limpias. Al centrarse en las necesidades del llamador, en lugar de solo en clasificaciones técnicas, el código se vuelve más intuitivo y amigable para el usuario.
No Devuelvas Null
Robert C. Martin

4/5
Editar imagen
No Devuelvas Null
Interpretar citas
Esta directriz es un recordatorio de los posibles peligros asociados con la devolución de valores nulos, que pueden introducir errores y requerir extensas verificaciones nulas. En cambio, proporcionar objetos de caso especial o emplear excepciones ayuda a simplificar la lógica del código, reduciendo el riesgo de errores en tiempo de ejecución y mejorando la legibilidad. Devolver un patrón de caso especial fomenta la claridad y la fiabilidad en el código.
La mayor parte de tu código empezará a verse como un algoritmo limpio y sin adornos.
Robert C. Martin

5/5
Editar imagen
La mayor parte de tu código empezará a verse como un algoritmo limpio y sin adornos.
Interpretar citas
Esta cita transmite la idea de que, con un manejo efectivo de excepciones, la lógica de negocio principal del código puede permanecer clara y directa. Al separar el manejo de errores de las funcionalidades centrales, los desarrolladores pueden lograr un nivel de simplicidad y elegancia en sus prácticas de codificación donde la lógica fluye libremente sin ser entorpecida por preocupaciones de gestión de errores.
Capítulo 7 | Frases de las páginas 146-153

La interfaz en el límite (Mapa) está oculta. Puede evolucionar con muy poco impacto en el resto de la aplicación.
Robert C. Martin

1/5
Editar imagen
La interfaz en el límite (Mapa) está oculta. Puede evolucionar con muy poco impacto en el resto de la aplicación.
Interpretar citas
Esta cita enfatiza la importancia de encapsular interfaces en los límites de los sistemas de software. Al ocultar las complejidades de las bibliotecas o frameworks externos, el funcionamiento interno de la aplicación permanece aislado de posibles cambios. Esto permite a los desarrolladores modificar o actualizar el código externo con una interrupción mínima, lo que conduce a una base de código más robusta y mantenible.
Los tests de aprendizaje no acaban costando nada. Teníamos que aprender la API de todos modos, y escribir esos tests fue una forma fácil y aislada de adquirir ese conocimiento.
Robert C. Martin

2/5
Editar imagen
Los tests de aprendizaje no acaban costando nada. Teníamos que aprender la API de todos modos, y escribir esos tests fue una forma fácil y aislada de adquirir ese conocimiento.
Interpretar citas
En esta declaración, el autor destaca el valor de los 'tests de aprendizaje' como un medio para que los desarrolladores de software adquieran comprensión de las APIs de terceros. En lugar de enfrentar los desafíos de la integración a ciegas, escribir pruebas puede servir como una herramienta educativa que también mejora la calidad del código. Este enfoque maximiza el retorno de la inversión al asegurar que los desarrolladores estén informados sobre posibles problemas antes de que se integren en producción.
Un buen diseño de software acomoda el cambio sin grandes inversiones ni retrabajos.
Robert C. Martin

3/5
Editar imagen
Un buen diseño de software acomoda el cambio sin grandes inversiones ni retrabajos.
Interpretar citas
Esta cita habla del principio fundamental del diseño de software que valora la flexibilidad y la adaptabilidad. Al crear sistemas que son resistentes a los efectos del cambio, los equipos pueden evitar modificaciones costosas y que consumen mucho tiempo. Este enfoque fomenta una cultura de mejora continua, permitiendo que el software evolucione de manera elegante a lo largo del tiempo.
Es mejor depender de algo que controlas que de algo que no controlas, para que no acabe controlándote a ti.
Robert C. Martin

4/5
Editar imagen
Es mejor depender de algo que controlas que de algo que no controlas, para que no acabe controlándote a ti.
Interpretar citas
Esta cita sirve como un recordatorio cauteloso sobre los riesgos asociados a confiar en bibliotecas externas y componentes de terceros. Al mantener el control sobre las interfaces clave y las interacciones dentro del software, los desarrolladores pueden asegurar la estabilidad y minimizar los posibles impactos negativos de los cambios realizados por entidades externas. Subraya la necesidad de una gestión cuidadosa de las dependencias en el desarrollo de software.
Debemos evitar que demasiado de nuestro código conozca los detalles de terceros.
Robert C. Martin

5/5
Editar imagen
Debemos evitar que demasiado de nuestro código conozca los detalles de terceros.
Interpretar citas
En esta declaración, el autor aconseja no acoplar estrechamente el código interno con bibliotecas de terceros. Al minimizar la exposición del código interno a los aspectos externos, los desarrolladores pueden garantizar la longevidad y la flexibilidad del sistema. Este principio fomenta la creación de límites más limpios, que ayudan en el mantenimiento de la escalabilidad y adaptabilidad del software.
Capítulo 8 | Frases de las páginas 154-167

El código de prueba es tan importante como el código de producción. No es un ciudadano de segunda clase. Requiere pensamiento, diseño y cuidado. Debe mantenerse tan limpio como el código de producción.
Robert C. Martin

1/5
Editar imagen
El código de prueba es tan importante como el código de producción. No es un ciudadano de segunda clase. Requiere pensamiento, diseño y cuidado. Debe mantenerse tan limpio como el código de producción.
Interpretar citas
Esta cita destaca el papel crucial que desempeña el código de prueba en el proceso de desarrollo en general. Subraya la necesidad de brindar el mismo nivel de cuidado y limpieza en la redacción de pruebas que se le daría al código de producción, implicando que descuidar las pruebas puede llevar a una mala calidad del software. Al equiparar el código de prueba con el código de producción, aboga por un estándar profesional en la programación que valora la integridad de ambos.
Si no mantienes tus pruebas limpias, las perderás. Y sin ellas, pierdes lo que mantiene tu código de producción flexible. Sí, lo has leído correctamente. Son las pruebas unitarias las que mantienen nuestro código flexible, mantenible y reutilizable.
Robert C. Martin

2/5
Editar imagen
Si no mantienes tus pruebas limpias, las perderás. Y sin ellas, pierdes lo que mantiene tu código de producción flexible. Sí, lo has leído correctamente. Son las pruebas unitarias las que mantienen nuestro código flexible, mantenible y reutilizable.
Interpretar citas
Esta cita transmite la idea esencial de que mantener pruebas limpias no es solo una cuestión de higiene; se trata de sostener la flexibilidad y mantenibilidad del código de producción. Las pruebas limpias permiten a los desarrolladores hacer cambios sin temor a introducir errores. Enfatiza que una estrategia de prueba robusta se correlaciona directamente con la calidad y adaptabilidad del software, animando a los desarrolladores a priorizar la limpieza de las pruebas.
La moraleja de la historia es simple: El código de prueba es tan importante como el código de producción.
Robert C. Martin

3/5
Editar imagen
La moraleja de la historia es simple: El código de prueba es tan importante como el código de producción.
Interpretar citas
Con esta afirmación, el autor destila una filosofía crítica del desarrollo de software, afirmando que el código de prueba no debe ser un pensamiento posterior, sino una parte integral del proceso de desarrollo. Se enfatiza la idea de que la garantía de calidad a través de pruebas es fundamental para crear software confiable. Este reconocimiento fomenta un cambio de paradigma en cómo los programadores ven las pruebas: como un componente vital de su trabajo en lugar de un mal necesario.
Sí, hemos recorrido un largo camino; pero aún nos queda mucho por avanzar.
Robert C. Martin

4/5
Editar imagen
Sí, hemos recorrido un largo camino; pero aún nos queda mucho por avanzar.
Interpretar citas
Este reconocimiento captura el progreso realizado en las prácticas de pruebas de software mientras también urge a la comunidad de desarrolladores a seguir mejorando. Sugiere que, si bien el desarrollo impulsado por pruebas (TDD) ha ganado popularidad, todavía hay conceptos y técnicas cruciales que aún no se han adoptado o dominado por completo. Al posicionar el camino del desarrollo como un proceso continuo, inspira aprendizaje y crecimiento constante entre los desarrolladores.
Mantén tus pruebas constantemente limpias. Trabaja para hacerlas expresivas y concisas. Inventa APIs de prueba que actúen como un lenguaje específico del dominio que te ayude a escribir las pruebas.
Robert C. Martin

5/5
Editar imagen
Mantén tus pruebas constantemente limpias. Trabaja para hacerlas expresivas y concisas. Inventa APIs de prueba que actúen como un lenguaje específico del dominio que te ayude a escribir las pruebas.
Interpretar citas
Esta cita sirve como un llamado a la acción para que los desarrolladores cultiven activamente la calidad de sus pruebas. Sugiere que las pruebas no solo deberían ser funcionales, sino también claras y fáciles de entender. Al fomentar la creación de lenguajes específicos de dominio para las pruebas, promueve la innovación en cómo se estructuran las pruebas, permitiendo a los desarrolladores comunicar sus intenciones de manera efectiva y mejorando la colaboración dentro de los equipos.
Capítulo 9 | Frases de las páginas 168-185

Las clases deben tener una única responsabilidad—una razón para cambiar.
Robert C. Martin

1/7
Editar imagen
Las clases deben tener una única responsabilidad—una razón para cambiar.
Interpretar citas
Esta cita encarna la esencia del Principio de Responsabilidad Única (SRP), una piedra angular del Código limpio. Enfatiza que cada clase debe centrarse en una tarea o funcionalidad específica, minimizando así su complejidad. Cuando una clase está diseñada para hacer solo una cosa, se vuelve más simple de mantener, probar y entender, lo que conduce a una base de código más robusta y adaptable.
Queremos que nuestros sistemas estén compuestos por muchas clases pequeñas, no por unas pocas grandes.
Robert C. Martin

2/7
Editar imagen
Queremos que nuestros sistemas estén compuestos por muchas clases pequeñas, no por unas pocas grandes.
Interpretar citas
Esta cita refuerza la importancia de la modularidad en el diseño del código. Al abogar por clases más pequeñas, destaca las ventajas de la legibilidad, la mantenibilidad y la reducción del riesgo de errores cuando se realizan cambios. Clases más pequeñas, cada una manejando una única responsabilidad, promueven la claridad en la comprensión de la estructura general del código, facilitando a los desarrolladores navegar y modificar según sea necesario.
Aflojar la encapsulación siempre es un último recurso.
Robert C. Martin

3/7
Editar imagen
Aflojar la encapsulación siempre es un último recurso.
Interpretar citas
Esta afirmación subraya la importancia de la encapsulación en el diseño orientado a objetos. La encapsulación ayuda a proteger el estado interno de un objeto y a mantener su integridad al restringir la interferencia y el uso indebido por parte del exterior. Solo cuando sea absolutamente necesario, los desarrolladores deberían considerar exponer partes de los internos de una clase; esta mentalidad fomenta mejores prácticas de diseño y empuja a los desarrolladores a considerar soluciones alternativas antes de comprometer la encapsulación.
El nombre de una clase debe describir qué responsabilidades cumple.
Robert C. Martin

4/7
Editar imagen
El nombre de una clase debe describir qué responsabilidades cumple.
Interpretar citas
Nombrar clases de manera clara y descriptiva es fundamental para crear un código comprensible. Cuando los nombres de las clases reflejan con precisión sus responsabilidades, se reduce la carga cognitiva para otros desarrolladores que interactúan con ese código. Esta práctica conduce a un código autodescriptivo, donde el propósito y la funcionalidad son fácilmente evidentes, facilitando la colaboración y reduciendo el tiempo de adaptación para los nuevos miembros del equipo.
Si no podemos derivar un nombre conciso para una clase, entonces probablemente sea demasiado grande.
Robert C. Martin

5/7
Editar imagen
Si no podemos derivar un nombre conciso para una clase, entonces probablemente sea demasiado grande.
Interpretar citas
Esta cita sirve como una heurística práctica para evaluar el diseño de clases. Si el propósito de una clase no puede resumirse de manera sucinta, es un indicador temprano de que podría estar asumiendo demasiadas responsabilidades. Esta percepción alienta a los desarrolladores a evaluar críticamente sus estructuras de clase y a hacer ajustes necesarios para mejorar la claridad y la mantenibilidad.
Hacer que el software funcione y hacer el software limpio son dos actividades muy diferentes.
Robert C. Martin

6/7
Editar imagen
Hacer que el software funcione y hacer el software limpio son dos actividades muy diferentes.
Interpretar citas
Esta observación reconoce un desafío común en el desarrollo de software: priorizar el código funcional a expensas de un diseño limpio. Subraya la necesidad de un enfoque dual: mientras que asegurar que el software funcione como se pretende es crítico, también es igualmente importante invertir tiempo en refactorizar y mejorar la calidad del código. Este equilibrio nutre un entorno de desarrollo sostenible donde el mantenimiento a largo plazo y la adaptabilidad son posibles.
Nuestra lógica SQL reestructurada representa lo mejor de todos los mundos.
Robert C. Martin

7/7
Editar imagen
Nuestra lógica SQL reestructurada representa lo mejor de todos los mundos.
Interpretar citas
Esta cita encapsula el objetivo de diseñar estructuras de código adaptables y limpias. Al estructurar clases que apoyan tanto el Principio de Responsabilidad Única como el Principio Abierto-Cerrado, los desarrolladores pueden crear un código que sea fácil de extender sin modificar los componentes existentes. Este ideal conduce a sistemas estables y confiables que acomodan eficientemente los cambios futuros, lo cual es crucial a medida que los proyectos de software evolucionan con el tiempo.
Capítulo 10 | Frases de las páginas 186-203

La complejidad mata. Agota la vida de los desarrolladores, dificulta la planificación, construcción y prueba de productos." —Ray Ozzie, CTO, Microsoft Corporation
Robert C. Martin

1/6
Editar imagen
La complejidad mata. Agota la vida de los desarrolladores, dificulta la planificación, construcción y prueba de productos." —Ray Ozzie, CTO, Microsoft Corporation
Interpretar citas
Esta cita destaca el impacto perjudicial que la complejidad puede tener en el desarrollo de software. Cuando los sistemas se vuelven excesivamente complejos, pueden abrumar a los desarrolladores, lo que lleva a desafíos en la planificación y ejecución de proyectos de manera eficiente. Al enfatizar la simplicidad y claridad en el diseño, los desarrolladores pueden mejorar la productividad y el éxito general del proyecto.
La separación de preocupaciones es una de las técnicas de diseño más antiguas e importantes en nuestro oficio.
Robert C. Martin

2/6
Editar imagen
La separación de preocupaciones es una de las técnicas de diseño más antiguas e importantes en nuestro oficio.
Interpretar citas
Esta afirmación subraya la importancia de separar los diferentes aspectos del diseño y la funcionalidad del software. Al hacerlo, los desarrolladores pueden asegurar que los diferentes componentes puedan evolucionar de manera independiente, mejorando la mantenibilidad y escalabilidad. Refleja el principio fundamental de que los sistemas modulares son más robustos y más fáciles de gestionar que los diseños monolíticos.
Es un mito que podemos hacer que los sistemas estén 'bien desde el primer momento.' En su lugar, deberíamos implementar solo las historias de hoy, y luego refactorizar y expandir el sistema para implementar nuevas historias mañana.
Robert C. Martin

3/6
Editar imagen
Es un mito que podemos hacer que los sistemas estén 'bien desde el primer momento.' En su lugar, deberíamos implementar solo las historias de hoy, y luego refactorizar y expandir el sistema para implementar nuevas historias mañana.
Interpretar citas
Esta cita captura la naturaleza iterativa del desarrollo de software, destacando que la perfección desde el principio es poco realista. Aboga por un enfoque incremental, donde los desarrolladores construyen funcionalidad paso a paso, permitiendo una mejor adaptación a los requisitos cambiantes y una mejora continua a través de la refactorización.
Una arquitectura de sistema óptima consiste en dominios de preocupación modularizados, cada uno de los cuales se implementa con Objetos Java (u otros) comunes.
Robert C. Martin

4/6
Editar imagen
Una arquitectura de sistema óptima consiste en dominios de preocupación modularizados, cada uno de los cuales se implementa con Objetos Java (u otros) comunes.
Interpretar citas
Aquí, el enfoque está en la importancia de la arquitectura modular en los sistemas de software. Al emplear diseños simples y poco intrusivos, los desarrolladores pueden crear sistemas que son más fáciles de entender y mantener, separando diversas preocupaciones en partes manejables. Este enfoque promueve la flexibilidad y la simplificación de la arquitectura general.
Si se compromete la agilidad, la productividad sufre y se pierden los beneficios del TDD.
Robert C. Martin

6/6
Editar imagen
Si se compromete la agilidad, la productividad sufre y se pierden los beneficios del TDD.
Interpretar citas
Esta declaración relaciona la agilidad de los procesos de desarrollo con la efectividad del Desarrollo Guiado por Pruebas (TDD). Cuando el desarrollo se vuelve rígido o excesivamente estructurado, puede obstaculizar tanto la productividad como las ventajas que ofrece el TDD, como la mejora de la calidad del código y ciclos de iteración más rápidos. Mantener la agilidad es esencial para aprovechar las metodologías de desarrollo modernas.
Capítulo 11 | Frases de las páginas -209

Un sistema puede tener un diseño perfecto en papel, pero si no hay una manera sencilla de verificar que el sistema realmente funciona como se pretende, entonces todo el esfuerzo en papel es cuestionable.
Robert C. Martin

1/6
Editar imagen
Un sistema puede tener un diseño perfecto en papel, pero si no hay una manera sencilla de verificar que el sistema realmente funciona como se pretende, entonces todo el esfuerzo en papel es cuestionable.
Interpretar citas
Esta cita enfatiza la importancia de las pruebas en el diseño de software. Nos recuerda que la perfección teórica es irrelevante sin una validación práctica a través de pruebas. Un marco de pruebas robusto asegura que el software se comporte como se espera, arraigando nuestros diseños en la realidad en lugar de la abstracción.
Escribir pruebas conduce a mejores diseños.
Robert C. Martin

2/6
Editar imagen
Escribir pruebas conduce a mejores diseños.
Interpretar citas
Esta afirmación sencilla pero profunda subraya cómo las pruebas no son solo una red de seguridad, sino un motor para el diseño de calidad. El proceso de escribir pruebas anima a los desarrolladores a pensar críticamente sobre la estructura de su código, llevando a diseños más limpios y mantenibles que se adhieren a principios establecidos.
La duplicación es el principal enemigo de un sistema bien diseñado.
Robert C. Martin

3/6
Editar imagen
La duplicación es el principal enemigo de un sistema bien diseñado.
Interpretar citas
Aquí, el enfoque está en el efecto perjudicial de la duplicación dentro del código. Esto habla de la necesidad de los principios de Código limpio: eliminar la redundancia no solo simplifica el mantenimiento, sino que también reduce el riesgo de errores e inconsistencias, promoviendo una arquitectura más elegante.
Cuanto más claro pueda hacer el autor el código, menos tiempo tendrán los demás para entenderlo.
Robert C. Martin

4/6
Editar imagen
Cuanto más claro pueda hacer el autor el código, menos tiempo tendrán los demás para entenderlo.
Interpretar citas
Esta cita resalta la importancia de la expresividad en la codificación. Al priorizar la claridad y una nomenclatura pensada, los desarrolladores pueden crear código autocumentado, facilitando un mantenimiento y colaboración más fáciles. Este principio es crucial para el éxito a largo plazo en proyectos de software, donde entender el sistema reduce el potencial de errores.
El cuidado es un recurso precioso.
Robert C. Martin

5/6
Editar imagen
El cuidado es un recurso precioso.
Interpretar citas
Esta observación perspicaz sugiere que la atención al detalle en la codificación es invaluable. Tomarse el tiempo para refinar y mejorar la calidad del código demuestra profesionalismo y orgullo en el trabajo, lo que a la larga conduce a mejores productos de software y a menos deuda técnica en el futuro.
Un diseño es 'simple' si sigue estas reglas: Ejecuta todas las pruebas, No contiene duplicación, Expresa la intención del programador, Minimiza el número de clases y métodos.
Robert C. Martin

6/6
Editar imagen
Un diseño es 'simple' si sigue estas reglas: Ejecuta todas las pruebas, No contiene duplicación, Expresa la intención del programador, Minimiza el número de clases y métodos.
Interpretar citas
Este resumen conciso encapsula la esencia de los principios de diseño limpio. Adherirse a estas reglas fomenta la simplicidad y la eficiencia, guiando a los desarrolladores hacia la creación de sistemas intuitivos y mantenibles. Refuerza la idea de que un buen diseño es un proceso iterativo centrado en la claridad y la funcionalidad.
Capítulo 12 | Frases de las páginas 210-225

Escribir programas concurrentes limpios es difícil, muy difícil.
Robert C. Martin

1/6
Editar imagen
Escribir programas concurrentes limpios es difícil, muy difícil.
Interpretar citas
Esta cita destaca la complejidad inherente a la creación de código limpio que maneje la concurrencia de manera efectiva. Implica que, aunque la concurrencia ofrece beneficios como un mejor rendimiento y una mejor gestión de recursos, también introduce desafíos significativos que requieren una consideración cuidadosa y experiencia para superar.
La concurrencia es una estrategia de desacoplamiento. Nos ayuda a desacoplar qué se hace de cuándo se hace.
Robert C. Martin

2/6
Editar imagen
La concurrencia es una estrategia de desacoplamiento. Nos ayuda a desacoplar qué se hace de cuándo se hace.
Interpretar citas
Esta afirmación captura la esencia de la concurrencia en la programación, ilustrando su papel en separar los procesos del tiempo. Al desacoplar 'qué' y 'cuándo', los desarrolladores pueden mejorar la estructura de las aplicaciones, lo que permite una utilización más eficiente de los recursos y una organización más clara del código.
La concurrencia correcta es compleja, incluso para problemas simples.
Robert C. Martin

3/6
Editar imagen
La concurrencia correcta es compleja, incluso para problemas simples.
Interpretar citas
A través de esta cita, el autor enfatiza que incluso las tareas sencillas pueden volverse problemáticas cuando se gestionan de manera concurrente. Esta complejidad a menudo conduce a errores desafiantes y comportamientos impredecibles en las aplicaciones, subrayando la importancia de comprender y abordar los problemas de concurrencia desde el principio.
Escribir un sistema que esté destinado a funcionar constantemente y correr para siempre es diferente de escribir algo que funcione por un tiempo y luego se apague de manera ordenada.
Robert C. Martin

4/6
Editar imagen
Escribir un sistema que esté destinado a funcionar constantemente y correr para siempre es diferente de escribir algo que funcione por un tiempo y luego se apague de manera ordenada.
Interpretar citas
Esta cita señala el marcado contraste entre diseñar sistemas para operación continua frente a funcionalidad temporal. Subraya la necesidad de pensar críticamente sobre la longevidad del sistema y los posibles escollos de gestionar el estado y los recursos durante el apagado, lo que puede llevar a interbloqueos y otros problemas.
Trata los fallos espurios como posibles problemas de subprocesos.
Robert C. Martin

5/6
Editar imagen
Trata los fallos espurios como posibles problemas de subprocesos.
Interpretar citas
Aquí, el autor aconseja no desestimar las fallas inesperadas en el código de subprocesos como simples anomalías. En su lugar, deberían investigarse como posibles indicadores de problemas de concurrencia más profundos, reforzando la noción de que los desarrolladores deben tomar todas las fallas en serio para asegurar un código robusto y confiable.
Si adoptas un enfoque limpio, tus posibilidades de acertar aumentan drásticamente.
Robert C. Martin

6/6
Editar imagen
Si adoptas un enfoque limpio, tus posibilidades de acertar aumentan drásticamente.
Interpretar citas
Esta cita sirve como un recordatorio convincente de que las prácticas de codificación limpia mejoran significativamente la probabilidad de desarrollar software que funcione correctamente. Enfatiza la importancia de la organización y la simplicidad en el código para minimizar errores, particularmente en sistemas concurrentes complejos.
Capítulo 13 | Frases de las páginas 226-283

Para escribir código limpio, primero debes escribir código sucio y luego limpiarlo.
Robert C. Martin

1/5
Editar imagen
Para escribir código limpio, primero debes escribir código sucio y luego limpiarlo.
Interpretar citas
Esta cita enfatiza que el proceso de escribir código limpio es inherentemente iterativo. Comienzas juntando una versión burda— a menudo desordenada e imperfecta— antes de refinarla en un producto pulido. Es similar a escribir borradores en la escritura creativa, subrayando que las imperfecciones iniciales son parte del crecimiento y del proceso de aprendizaje en el dominio.
La mayoría de los programadores novatos... creen que el objetivo principal es hacer que el programa funcione. Una vez que está 'funcionando', pasan a la siguiente tarea, dejando el programa 'funcionando' en el estado en que finalmente lograron que 'funcionara'. La mayoría de los programadores experimentados saben que esto es un suicidio profesional.
Robert C. Martin

2/5
Editar imagen
La mayoría de los programadores novatos... creen que el objetivo principal es hacer que el programa funcione. Una vez que está 'funcionando', pasan a la siguiente tarea, dejando el programa 'funcionando' en el estado en que finalmente lograron que 'funcionara'. La mayoría de los programadores experimentados saben que esto es un suicidio profesional.
Interpretar citas
Esta afirmación destaca una brecha significativa de mentalidad entre los programadores novatos y los experimentados. Señala la peligrosa complacencia que puede surgir cuando uno se conforma con la funcionalidad a expensas de la limpieza y mantenibilidad del código. Los profesionales reconocen que la mejora y el mantenimiento continuos son cruciales para el éxito a largo plazo de un proyecto.
Escribir composiciones limpias... es cuestión de refinamiento sucesivo.
Robert C. Martin

3/5
Editar imagen
Escribir composiciones limpias... es cuestión de refinamiento sucesivo.
Interpretar citas
Esta metáfora relaciona el proceso de escribir código con la escritura de ensayos, donde múltiples borradores conducen a una pieza final coherente. Sugiere que el desarrollo de software es un viaje continuo de revisión, donde las mejores soluciones a menudo emergen de iteraciones y refinamientos repetidos.
Nada tiene un efecto degradante más profundo y duradero sobre un proyecto de desarrollo que el mal código.
Robert C. Martin

4/5
Editar imagen
Nada tiene un efecto degradante más profundo y duradero sobre un proyecto de desarrollo que el mal código.
Interpretar citas
Esta cita encapsula los costos ocultos de permitir que las malas prácticas de codificación persistan en un proyecto. El mal código, aunque aparentemente funcional a corto plazo, puede llevar a complejidades e ineficiencias a largo plazo que obstaculizan el progreso y la productividad. Sirve como una advertencia para priorizar la calidad del código y evitar problemas futuros.
Mantener el código limpio es relativamente fácil... Si hiciste un lío en un módulo por la mañana, es fácil limpiarlo por la tarde.
Robert C. Martin

5/5
Editar imagen
Mantener el código limpio es relativamente fácil... Si hiciste un lío en un módulo por la mañana, es fácil limpiarlo por la tarde.
Interpretar citas
Aquí, el autor tranquiliza a los desarrolladores de que el cuidado proactivo en mantener la limpieza del código es manejable. Al comprometerse a limpiar y refactorizar el código de manera regular, los desarrolladores pueden evitar dolores de cabeza mayores en el futuro, reforzando la idea de que la atención oportuna a los detalles puede ahorrar tiempo y recursos significativos más adelante.
Capítulo 14 | Frases de las páginas 284-299

La refactorización es un proceso iterativo lleno de prueba y error, que inevitablemente converge en algo que consideramos digno de un profesional.
Robert C. Martin

1/4
Editar imagen
La refactorización es un proceso iterativo lleno de prueba y error, que inevitablemente converge en algo que consideramos digno de un profesional.
Interpretar citas
Esta cita destaca la naturaleza de la refactorización como un viaje continuo en lugar de una tarea única. Enfatiza que mejorar el código se trata de refinarlo a través de iteraciones repetidas, aprendiendo y ajustando según sea necesario. La mención de la profesionalidad sirve como un recordatorio de que buscar la excelencia es fundamental en el desarrollo de software.
A pesar de que los autores dejaron este módulo en muy buen estado, la Regla del Boy Scout nos dice que debemos dejarlo más limpio de lo que lo encontramos.
Robert C. Martin

2/4
Editar imagen
A pesar de que los autores dejaron este módulo en muy buen estado, la Regla del Boy Scout nos dice que debemos dejarlo más limpio de lo que lo encontramos.
Interpretar citas
La Regla del Boy Scout aboga por la mejora continua, instando a los desarrolladores a no solo mantener el código existente, sino a mejorar su calidad. Esta cita sirve como un llamado inspirador a la acción, fomentando una mentalidad en la que cada interacción con el código pueda contribuir a su limpieza y mantenibilidad, promoviendo una cultura de orgullo en el trabajo realizado.
Hay algunas expresiones largas y algunos +1 extraños y demás. Pero en general, este módulo está bastante bien.
Robert C. Martin

3/4
Editar imagen
Hay algunas expresiones largas y algunos +1 extraños y demás. Pero en general, este módulo está bastante bien.
Interpretar citas
Esta observación refleja el equilibrio entre reconocer el estado actual del código e identificar áreas de mejora. Reconocer las fortalezas de un módulo, mientras se está abierto a la crítica, promueve una actitud constructiva hacia la calidad del código y fomenta un entorno donde se valoran las mejoras iterativas.
Cada uno de nosotros tiene la responsabilidad de dejar el código un poco mejor de lo que lo encontramos.
Robert C. Martin

4/4
Editar imagen
Cada uno de nosotros tiene la responsabilidad de dejar el código un poco mejor de lo que lo encontramos.
Interpretar citas
Esta cita encapsula la esencia de la integridad profesional en el desarrollo de software. Enfatiza que los desarrolladores deben esforzarse por mejorar la calidad del código, fomentando un sentido de responsabilidad no solo hacia uno mismo sino también hacia el equipo y los usuarios. Este principio alienta un legado de mejores prácticas en la codificación que beneficia a la comunidad de desarrollo en general.
Capítulo 15 | Frases de las páginas 300-317

Sólo a través de críticas como estas aprenderemos. Los doctores lo hacen. Los pilotos lo hacen. Los abogados lo hacen. Y nosotros, los programadores, necesitamos aprender a hacerlo también.
Robert C. Martin

1/6
Editar imagen
Sólo a través de críticas como estas aprenderemos. Los doctores lo hacen. Los pilotos lo hacen. Los abogados lo hacen. Y nosotros, los programadores, necesitamos aprender a hacerlo también.
Interpretar citas
Esta cita enfatiza la importancia de la crítica constructiva en cualquier profesión, particularmente en la programación. Así como otros campos destacados tienen mecanismos para evaluar y mejorar el rendimiento a través de revisiones entre pares, los programadores deberían acoger las críticas de su código. Al recibir comentarios, los desarrolladores pueden mejorar sus habilidades y la calidad general de su trabajo.
Esta no es una actividad de malicia. Ni creo que sea tan superior a David como para tener derecho a juzgar su código.
Robert C. Martin

2/6
Editar imagen
Esta no es una actividad de malicia. Ni creo que sea tan superior a David como para tener derecho a juzgar su código.
Interpretar citas
En esta reflexión, el autor aclara que las revisiones de código deben verse como un proceso colaborativo de mejora en lugar de un acto de superioridad o desdén. Esta perspectiva fomenta una cultura de apoyo mutuo entre los desarrolladores, donde el objetivo es aumentar el conocimiento y la destreza colectiva, en lugar de socavar los esfuerzos individuales.
De hecho, esta clase trata sobre días, en lugar de tiempo. Consideré nombrarla Día, pero este nombre también es muy utilizado en otros lugares. Al final, elegí DayDate como el mejor compromiso.
Robert C. Martin

3/6
Editar imagen
De hecho, esta clase trata sobre días, en lugar de tiempo. Consideré nombrarla Día, pero este nombre también es muy utilizado en otros lugares. Al final, elegí DayDate como el mejor compromiso.
Interpretar citas
El autor ilustra el desafío de las convenciones de nombres en programación, particularmente cuando términos comunes pueden entrar en conflicto con clases existentes. La lucha por encontrar un nombre adecuado y descriptivo subraya la importancia de la claridad en el código, enfatizando que un buen nombramiento puede mejorar significativamente la legibilidad y mantenibilidad del código.
Ahora tenemos herramientas de control de código fuente que hacen esto por nosotros. Esta historia debería ser eliminada.
Robert C. Martin

4/6
Editar imagen
Ahora tenemos herramientas de control de código fuente que hacen esto por nosotros. Esta historia debería ser eliminada.
Interpretar citas
Esta cita refleja la evolución de las prácticas de desarrollo de software. Destaca el cambio de un seguimiento manual de los cambios en el código a herramientas más sofisticadas que automatizan el control de versiones. Al abogar por la eliminación de comentarios obsoletos, el autor enfatiza la necesidad de un Código limpio que refleje prácticas modernas, facilitando a los desarrolladores concentrarse en la funcionalidad en lugar de información adicional.
El patrón de fallo se observa al ver qué casos de prueba están comentados. Ese patrón es revelador.
Robert C. Martin

5/6
Editar imagen
El patrón de fallo se observa al ver qué casos de prueba están comentados. Ese patrón es revelador.
Interpretar citas
Esta frase resalta la importancia del desarrollo guiado por pruebas y los conocimientos que se pueden obtener al examinar la cobertura de pruebas. Enfatiza la necesidad de pruebas rigurosas y análisis para entender las debilidades en una base de código. Al identificar patrones en las pruebas que fallan, los desarrolladores pueden señalar errores y mejorar la robustez de sus aplicaciones.
Es interesante notar que esta función fue objeto de una reparación anterior. El historial de cambios muestra que se 'arreglaron' algunos errores...
Robert C. Martin

6/6
Editar imagen
Es interesante notar que esta función fue objeto de una reparación anterior. El historial de cambios muestra que se 'arreglaron' algunos errores...
Interpretar citas
Aquí, el autor observa la importancia de seguir el historial de cambios del código, sugiriendo que la evolución de una función es crítica para entender su estado actual. Esta reflexión apunta a la importancia de mantener registros claros en programación para comprender mejor cómo y por qué se abordaron ciertos problemas, lo que puede informar decisiones de desarrollo futuras.
Capítulo 16 | Frases de las páginas 318-349

Información inapropiada. No es apropiado que un comentario contenga información que debería estar en otro tipo de sistema.
Robert C. Martin

1/10
Editar imagen
Información inapropiada. No es apropiado que un comentario contenga información que debería estar en otro tipo de sistema.
Interpretar citas
Esta cita resalta la importancia de mantener los comentarios relevantes y concisos. Los buenos comentarios deben enriquecer la comprensión, no llenar el código de contexto histórico innecesario o metadatos que se pueden seguir en otro lugar. Mantener el código limpio significa confiar en los sistemas de control de versiones y seguimiento para los datos históricos y formatear los comentarios para servir a su verdadero propósito: aclarar la intención detrás del código complejo.
Los comentarios deben reservarse para notas técnicas sobre el código y el diseño.
Robert C. Martin

2/10
Editar imagen
Los comentarios deben reservarse para notas técnicas sobre el código y el diseño.
Interpretar citas
Esto enfatiza que los comentarios son más útiles cuando aclaran aspectos complejos del código, en lugar de servir como documentación para elementos básicos que podrían ser autóctonos. Escribir comentarios que expliquen la razón detrás de las decisiones de diseño puede mejorar la mantenibilidad y la comprensión para otros que interactúan con el código.
El código comentado es una aberración.
Robert C. Martin

3/10
Editar imagen
El código comentado es una aberración.
Interpretar citas
Esta cita refleja el desdén por dejar código inactivo o comentado dentro de la base de código. Interrumpe el flujo de lectura y comprensión del código activo, sugiere negligencia en la gestión del código y puede engañar a futuros desarrolladores haciéndoles pensar que el código comentado sigue siendo relevante cuando puede no serlo. El principio aquí es mantener el código limpio eliminando el desorden innecesario.
Las funciones deberían tener un número pequeño de argumentos.
Robert C. Martin

4/10
Editar imagen
Las funciones deberían tener un número pequeño de argumentos.
Interpretar citas
Esta cita subraya la importancia de la simplicidad y la claridad en las funciones. Una función que toma muchos argumentos puede ser confusa y difícil de mantener. Apuntar a tener menos argumentos significa que cada función debe centrarse más en una tarea única, mejorando así la legibilidad y reduciendo la carga cognitiva tanto para el desarrollador como para los futuros mantenedores.
Cada vez que veas duplicación en el código, representa una oportunidad perdida para la abstracción.
Robert C. Martin

5/10
Editar imagen
Cada vez que veas duplicación en el código, representa una oportunidad perdida para la abstracción.
Interpretar citas
Dentro de esta cita reside un principio fundamental del diseño de software: eliminar la redundancia para mejorar la eficiencia y claridad del código. El código duplicado puede llevar a una mayor complejidad y errores, ya que las correcciones deben aplicarse múltiples veces. Al reconocer la duplicación, los desarrolladores deberían buscar abstraer la lógica común en componentes o funciones reutilizables.
Un buen diseño de software requiere que separemos conceptos a diferentes niveles y los coloquemos en diferentes contenedores.
Robert C. Martin

6/10
Editar imagen
Un buen diseño de software requiere que separemos conceptos a diferentes niveles y los coloquemos en diferentes contenedores.
Interpretar citas
Esto destaca la importancia de mantener límites claros en la arquitectura del software. Separar responsabilidades dentro de diferentes módulos o clases permite una mejor organización, un mantenimiento más fácil y interfaces más limpias. Esta práctica ayuda a evitar confusiones y aumenta la modularidad y reutilización del código.
Cuantos menos métodos tenga una clase, mejor.
Robert C. Martin

7/10
Editar imagen
Cuantos menos métodos tenga una clase, mejor.
Interpretar citas
Esta cita enfatiza el principio del minimalismo en el diseño orientado a objetos. Al limitar el número de métodos en una clase, los desarrolladores pueden mejorar la claridad y usabilidad. Una clase con demasiados métodos puede volverse ingobernable y más difícil de entender, mientras que una clase bien definida puede ser más fácil de gestionar e integrar.
Cada función hace una sola cosa.
Robert C. Martin

8/10
Editar imagen
Cada función hace una sola cosa.
Interpretar citas
Este principio anima a los desarrolladores a escribir funciones que sean de un solo propósito para mejor claridad y mantenibilidad. Cuando una función hace solo una cosa, puede ser probada y entendida de forma aislada. Este enfoque conduce a un código más simple y fiable.
Elige nombres descriptivos.
Robert C. Martin

9/10
Editar imagen
Elige nombres descriptivos.
Interpretar citas
Seleccionar nombres significativos y descriptivos para variables y funciones es crucial para hacer el código más comprensible. Esto aumenta la legibilidad y ayuda a mantener el código a lo largo del tiempo, ya que las variables bien nombradas transmiten su propósito sin necesidad de más explicaciones.
No omitas pruebas triviales.
Robert C. Martin

10/10
Editar imagen
No omitas pruebas triviales.
Interpretar citas
Esta información insta a los desarrolladores a valorar incluso las pruebas más simples por sus roles de documentación y verificación. Asegurar que todas las partes del código estén probadas, sin importar cuán pequeñas sean, contribuye a la fiabilidad general del sistema y proporciona la seguridad de que el código se comporta como se espera.
Capítulo 17 | Frases de las páginas -381

Hay dos posibilidades: E/S—usando un socket, conectándose a una base de datos, esperando el intercambio de memoria virtual, y así sucesivamente. Procesador—cálculos numéricos, procesamiento de expresiones regulares, recolección de basura, y así sucesivamente.
Robert C. Martin

1/5
Editar imagen
Hay dos posibilidades: E/S—usando un socket, conectándose a una base de datos, esperando el intercambio de memoria virtual, y así sucesivamente. Procesador—cálculos numéricos, procesamiento de expresiones regulares, recolección de basura, y así sucesivamente.
Interpretar citas
Esta cita destaca la diferencia crítica entre tareas limitadas por entrada/salida (E/S) y tareas limitadas por el procesador. Comprender estas distinciones es vital para optimizar el rendimiento en la programación. Las tareas limitadas por E/S a menudo implican esperar recursos externos, mientras que las tareas limitadas por el procesador requieren un cálculo sustancial. Los desarrolladores deben adaptar sus estrategias de concurrencia según estas características para mejorar la eficiencia.
Si el código está limitado por el procesador, más hardware de procesamiento puede mejorar el rendimiento, haciendo que nuestra prueba pase. Pero hay un número limitado de ciclos de CPU disponibles, por lo que agregar hilos a un problema limitado por el procesador no lo hará ir más rápido.
Robert C. Martin

2/5
Editar imagen
Si el código está limitado por el procesador, más hardware de procesamiento puede mejorar el rendimiento, haciendo que nuestra prueba pase. Pero hay un número limitado de ciclos de CPU disponibles, por lo que agregar hilos a un problema limitado por el procesador no lo hará ir más rápido.
Interpretar citas
Esta afirmación refuerza la necesidad de comprender la naturaleza de la carga de trabajo en programación concurrente. Asignar hilos adicionales no necesariamente proporcionará beneficios si una tarea está limitada por las capacidades de procesamiento de la CPU. En cambio, sugiere que optimizar el código para la eficiencia y el paralelismo traerá mejores resultados, en lugar de simplemente aumentar el número de hilos.
Para mantener los sistemas concurrentes limpios, la gestión de hilos debe limitarse a unos pocos lugares bien controlados. Además, cualquier código que gestione hilos no debe hacer nada más que la gestión de hilos.
Robert C. Martin

3/5
Editar imagen
Para mantener los sistemas concurrentes limpios, la gestión de hilos debe limitarse a unos pocos lugares bien controlados. Además, cualquier código que gestione hilos no debe hacer nada más que la gestión de hilos.
Interpretar citas
Esta cita enfatiza la importancia de la modularidad en la programación concurrente. Al aislar la gestión de hilos en secciones dedicadas del código, los desarrolladores pueden minimizar la complejidad y hacer que el sistema sea más fácil de entender y mantener. Esta práctica ayuda a prevenir posibles errores relacionados con la concurrencia, proporcionando una base de código más limpia y robusta.
Interbloqueo. El sistema nunca se recupera. Esto puede sonar como una situación poco probable, pero ¿quién quiere un sistema que se congele cada dos semanas?
Robert C. Martin

4/5
Editar imagen
Interbloqueo. El sistema nunca se recupera. Esto puede sonar como una situación poco probable, pero ¿quién quiere un sistema que se congele cada dos semanas?
Interpretar citas
Esta observación arroja luz sobre el problema crítico de los interbloqueos en la programación concurrente. Los interbloqueos ocurren cuando dos o más operaciones esperan indefinidamente que la otra libere recursos, llevando a sistemas congelados. Comprender las causas del interbloqueo e implementar estrategias para evitarlo es esencial para mantener la fiabilidad del sistema y garantizar operaciones ininterrumpidas.
¿Cómo podemos escribir una prueba para demostrar que el siguiente código está roto?
Robert C. Martin

5/5
Editar imagen
¿Cómo podemos escribir una prueba para demostrar que el siguiente código está roto?
Interpretar citas
Esto desafía a los programadores a pensar críticamente sobre la prueba y validación del código concurrente. Es necesario escribir pruebas proactivas para exponer problemas de subprocesos al desarrollar sistemas confiables. Este enfoque muestra la importancia de las pruebas en el desarrollo de software, particularmente en entornos multihilo donde los errores pueden ser esquivos debido a su naturaleza esporádica.
Capítulo 18 | Frases de las páginas 382-441

¿Por qué no usar simplemente java.util.Date? Lo haremos cuando tenga sentido. A veces, java.util.Date puede ser *demasiado* preciso: representa un instante en el tiempo, con una precisión de 1/1000 de segundo (siendo la fecha misma dependiente de la zona horaria). A veces, solo queremos representar un día en particular (por ejemplo, 21 de enero de 2015) sin preocuparnos por la hora del día, la zona horaria ni nada más. Para eso hemos definido SerialDate.
Robert C. Martin

1/5
Editar imagen
¿Por qué no usar simplemente java.util.Date? Lo haremos cuando tenga sentido. A veces, java.util.Date puede ser *demasiado* preciso: representa un instante en el tiempo, con una precisión de 1/1000 de segundo (siendo la fecha misma dependiente de la zona horaria). A veces, solo queremos representar un día en particular (por ejemplo, 21 de enero de 2015) sin preocuparnos por la hora del día, la zona horaria ni nada más. Para eso hemos definido SerialDate.
Interpretar citas
Esta cita destaca la importancia de la simplicidad y la claridad en la programación. Sugiere que, aunque `java.util.Date` proporciona precisión, esa precisión puede introducir a menudo una complejidad innecesaria. En cambio, el objetivo de `SerialDate` es ofrecer una representación sencilla de las fechas que se centra en el día, sin distracciones de tiempo o zonas horarias. Anima a los desarrolladores a elegir las herramientas adecuadas para la tarea, priorizando la usabilidad y la claridad.
Una clase abstracta que define nuestros requisitos para manipular fechas, sin atar una implementación particular.
Robert C. Martin

2/5
Editar imagen
Una clase abstracta que define nuestros requisitos para manipular fechas, sin atar una implementación particular.
Interpretar citas
Esta afirmación enfatiza el principio de diseño de la abstracción en programación. Al crear una clase abstracta, permite a los programadores definir funcionalidades clave para la manipulación de fechas, dejando los detalles de la implementación abiertos para las subclases. Esto fomenta la flexibilidad y el mantenimiento en el código, permitiendo que diferentes representaciones de fecha coexistan y se usen de manera intercambiable sin alterar la lógica subyacente.
Esta biblioteca se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; ni siquiera la garantía implícita de COMERCIALIZACIÓN o APTITUD PARA UN PROPÓSITO PARTICULAR.
Robert C. Martin

3/5
Editar imagen
Esta biblioteca se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; ni siquiera la garantía implícita de COMERCIALIZACIÓN o APTITUD PARA UN PROPÓSITO PARTICULAR.
Interpretar citas
Esta cita sirve como un recordatorio de las responsabilidades y limitaciones inherentes al desarrollo de software. Subraya la realidad de que las bibliotecas de código abierto, aunque valiosas, no vienen con garantías, lo que anima a los desarrolladores a probar y validar rigurosamente las funciones de las cuales dependen. Fomenta una cultura de diligencia donde uno debe asegurarse de que las herramientas que utiliza sean confiables y adecuadas para sus necesidades específicas.
Requisito 1: igualar al menos lo que hace Excel con las fechas; Requisito 2: la clase es inmutable;
Robert C. Martin

4/5
Editar imagen
Requisito 1: igualar al menos lo que hace Excel con las fechas; Requisito 2: la clase es inmutable;
Interpretar citas
Estos requisitos encapsulan dos objetivos fundamentales en el diseño de software. El primer objetivo es asegurar la compatibilidad con estándares establecidos (como Excel), lo que puede aumentar la confianza del usuario y facilitar la integración. El segundo objetivo, la inmutabilidad, asegura que una vez que se crea una fecha, no puede ser alterada. Este es un principio clave en la programación funcional que promueve la seguridad y la previsibilidad en el código, minimizando los efectos secundarios y las mutaciones no intencionadas.
Puedes llamar a getInstance() para obtener una subclase concreta de SerialDate, sin preocuparte por la implementación exacta.
Robert C. Martin

5/5
Editar imagen
Puedes llamar a getInstance() para obtener una subclase concreta de SerialDate, sin preocuparte por la implementación exacta.
Interpretar citas
Esta cita ilustra el concepto de métodos de fábrica en el diseño orientado a objetos. Al usar `getInstance()`, la responsabilidad de crear objetos de fecha específicos se abstrae del desarrollador, permitiéndole concentrarse en la lógica de su aplicación en lugar de en los detalles de la instanciación de objetos. Este diseño hace que la base de código sea más limpia y fácil de gestionar, ya que promueve la separación de preocupaciones.
Capítulo 19 | Frases de las páginas 442-443

‘La única manera de ir rápido es ir bien.’
Robert C. Martin

1/5
Editar imagen
‘La única manera de ir rápido es ir bien.’
Interpretar citas
Esta cita destaca la importancia de la calidad en el desarrollo de software. Apresurarse en un proyecto sin prestar atención a las mejores prácticas o al Código limpio solo lleva a más problemas a largo plazo. Tomarse el tiempo para construir bien asegura que el código pueda mantenerse y adaptarse de manera eficiente, lo que, en última instancia, conduce a un proceso más rápido y fluido.
‘El código se lee mucho más a menudo de lo que se escribe.’
Robert C. Martin

2/5
Editar imagen
‘El código se lee mucho más a menudo de lo que se escribe.’
Interpretar citas
Esta afirmación subraya un principio crucial en la ingeniería de software: la legibilidad del código es primordial. Un trozo de código que es claro y comprensible puede ser mantenido y modificado por otros más fácilmente que un enredo confuso. Esto refuerza la idea de escribir Código limpio para una mejor colaboración y longevidad del software.
‘No puedes escribir buen código sin un buen diseño.’
Robert C. Martin

3/5
Editar imagen
‘No puedes escribir buen código sin un buen diseño.’
Interpretar citas
Esta cita enfatiza la relación entre el diseño y la calidad del código. Los buenos principios de diseño sientan las bases para construir código limpio, eficiente y mantenible. Sin una sólida base de diseño, incluso los desarrolladores más hábiles pueden tener dificultades para producir código que resista la prueba del tiempo.
‘La simplicidad es el alma de la eficiencia.’
Robert C. Martin

4/5
Editar imagen
‘La simplicidad es el alma de la eficiencia.’
Interpretar citas
Esta cita habla del valor de la simplicidad en la codificación. Aspirar a la simplicidad puede llevar a soluciones más efectivas y eficientes, ya que los sistemas complejos tienden a oscurecer la comprensión y crean más oportunidades para errores. Abrazar la simplicidad anima a los desarrolladores a centrarse en lo que más importa, mejorando la calidad general del software.
‘Aprender a escribir buen código es un viaje de toda la vida.’
Robert C. Martin

5/5
Editar imagen
‘Aprender a escribir buen código es un viaje de toda la vida.’
Interpretar citas
Esta afirmación refleja la naturaleza continua de dominar las habilidades de programación. Incluso los desarrolladores experimentados continúan aprendiendo y adaptándose a medida que la tecnología evoluciona. Reconocer este viaje fomenta una mentalidad de mejora continua y apertura a nuevas prácticas, asegurando que los desarrolladores se mantengan a la vanguardia de su oficio.
Capítulo 20 | Frases de las páginas -465

El arte del Código limpio es una cuestión de negociación, y comienza con un diseño que sea tanto sencillo como expresivo.
Robert C. Martin

1/5
Editar imagen
El arte del Código limpio es una cuestión de negociación, y comienza con un diseño que sea tanto sencillo como expresivo.
Interpretar citas
Esta cita encapsula la esencia de escribir Código limpio, destacando que no se trata meramente de un conjunto de prácticas, sino de una forma de arte que requiere colaboración y comunicación. Un diseño simple y expresivo fomenta la claridad y la mantenibilidad, permitiendo a los desarrolladores entender y modificar el código de manera efectiva. Este tipo de diseño promueve negociaciones sobre la legibilidad y funcionalidad del código, facilitando que los equipos se alineen en los objetivos.
El código es como el humor. Cuando tienes que explicarlo, es malo.
Robert C. Martin

2/5
Editar imagen
El código es como el humor. Cuando tienes que explicarlo, es malo.
Interpretar citas
Esta cita establece una poderosa comparación entre la codificación y el humor, sugiriendo que el código debería ser autoexplicativo e intuitivo. Si un fragmento de código requiere comentarios o explicaciones excesivas, indica que el código puede no ser claro o estar bien estructurado. Enfatizar la claridad en el código mejora su accesibilidad y mantenibilidad, permitiendo a otros interactuar con él sin necesidad de constantes aclaraciones.
La Regla del Boy Scout: Siempre deja el campamento más limpio de lo que lo encontraste.
Robert C. Martin

3/5
Editar imagen
La Regla del Boy Scout: Siempre deja el campamento más limpio de lo que lo encontraste.
Interpretar citas
Este principio enfatiza la importancia de la mejora continua en las prácticas de codificación. Así como se anima a un boy scout a dejar la naturaleza mejor de lo que la encontró, los desarrolladores deben esforzarse por mejorar la calidad del código con cada cambio o actualización. Esta mentalidad cultiva una cultura de diligencia y cuidado entre los desarrolladores, lo que lleva a bases de código más robustas y mantenibles.
El Código limpio se lee como una prosa bien escrita.
Robert C. Martin

4/5
Editar imagen
El Código limpio se lee como una prosa bien escrita.
Interpretar citas
Esta cita subraya la importancia de la legibilidad y simplicidad en la escritura de código. Al igual que una buena prosa es fácil de leer y entender, el Código limpio debe expresar su intención de manera clara y eficiente. Cuando los desarrolladores adoptan esta filosofía, crean un entorno colaborativo donde otros programadores pueden comprender y contribuir al código con facilidad, mejorando la productividad general y reduciendo errores.
Un diseño simple permite que los desarrolladores se comuniquen de manera efectiva y facilita el cambio.
Robert C. Martin

5/5
Editar imagen
Un diseño simple permite que los desarrolladores se comuniquen de manera efectiva y facilita el cambio.
Interpretar citas
Esta afirmación destaca la importancia de la simplicidad en el diseño para una comunicación y adaptación exitosas. Cuando los diseños son simples, reducen la complejidad, facilitando que los miembros del equipo entiendan el trabajo de los demás y colaboren sin problemas. Esta facilidad de comunicación es crucial, especialmente cuando son necesarios cambios, ya que los diseños simples pueden modificarse rápidamente y sin confusión.
Capítulo 21 | Frases de las páginas 492-497

El profesionalismo es algo de lo que nuestra profesión necesita urgentemente.
Robert C. Martin

1/4
Editar imagen
El profesionalismo es algo de lo que nuestra profesión necesita urgentemente.
Interpretar citas
Esta afirmación resalta la necesidad crítica de profesionalismo en el campo de la programación. A medida que muchas industrias evolucionan, la calidad e integridad del trabajo a menudo reflejan el profesionalismo de sus practicantes. Aspirar al profesionalismo no solo mejora las carreras individuales, sino que también realza la reputación de toda la profesión.
Verás, cuando conseguí mi primer trabajo como programador, profesional era la última palabra que habrías usado para describirme.
Robert C. Martin

2/4
Editar imagen
Verás, cuando conseguí mi primer trabajo como programador, profesional era la última palabra que habrías usado para describirme.
Interpretar citas
Con esta cita, el autor reflexiona sobre su temprana carrera y el significativo crecimiento que viene con la experiencia. Sirve como un recordatorio de que todos comienzan en algún lugar y que los errores y la inmadurez inicial pueden ser oportunidades de aprendizaje. Reconocer la falta de profesionalismo puede ser el primer paso hacia la mejora.
Aprendí... que nunca debes renunciar sin tener un nuevo trabajo, y que siempre debes renunciar de manera tranquila, sosegada y en solitario.
Robert C. Martin

3/4
Editar imagen
Aprendí... que nunca debes renunciar sin tener un nuevo trabajo, y que siempre debes renunciar de manera tranquila, sosegada y en solitario.
Interpretar citas
Este consejo del autor enfatiza la importancia de mantener el profesionalismo incluso en situaciones difíciles. Enseña que las reacciones emocionales pueden llevar a decisiones equivocadas, como renunciar a un trabajo sin un plan. Manejar las transiciones con gracia es un atributo clave del profesionalismo y la responsabilidad.
Así que considera este libro como un catálogo de mis propios errores, un registro de mis propios crímenes y un conjunto de pautas para que evites caminar en mis primeros pasos.
Robert C. Martin

4/4
Editar imagen
Así que considera este libro como un catálogo de mis propios errores, un registro de mis propios crímenes y un conjunto de pautas para que evites caminar en mis primeros pasos.
Interpretar citas
Esta cita revela el propósito del libro: proporcionar perspectivas basadas en las propias experiencias y errores del autor. Significa el valor de aprender de los fracasos y las dificultades. Al compartir su camino, el autor espera guiar a otros para evitar similares tropiezos, contribuyendo así a su crecimiento como profesionales.
Capítulo 22 | Frases de las páginas 498-513

El profesionalismo es un término cargado. Ciertamente, es un distintivo de honor y orgullo, pero también es un signo de responsabilidad y rendición de cuentas.
Robert C. Martin

1/8
Editar imagen
El profesionalismo es un término cargado. Ciertamente, es un distintivo de honor y orgullo, pero también es un signo de responsabilidad y rendición de cuentas.
Interpretar citas
Esta cita enfatiza que el profesionalismo no se trata meramente de estatus o reconocimiento; está profundamente entrelazado con la idea de ser responsable y rendir cuentas por el trabajo propio. El verdadero orgullo proviene de asumir los propios errores y asegurar la calidad, en lugar de simplemente reclamar un título.
¡El profesional le escribiría un cheque a la compañía por $10,000! Sí, se siente un poco diferente cuando es tu propio dinero, ¿verdad?
Robert C. Martin

2/8
Editar imagen
¡El profesional le escribiría un cheque a la compañía por $10,000! Sí, se siente un poco diferente cuando es tu propio dinero, ¿verdad?
Interpretar citas
Esta cita resalta la clara diferencia entre un profesional y un no profesional. Un verdadero profesional comprende el peso de sus decisiones y las consecuencias que vienen con los errores, lo que infunde un sentido de responsabilidad en su trabajo.
Primero, no hacer daño. Claramente, queremos que nuestro software funcione.
Robert C. Martin

3/8
Editar imagen
Primero, no hacer daño. Claramente, queremos que nuestro software funcione.
Interpretar citas
Esta cita sirve como un principio rector para los desarrolladores, reminiscentes del juramento hipocrático en medicina. Sugiere que el deber primordial de un desarrollador de software es crear software funcional y confiable mientras se evitan daños, destacando la responsabilidad ética inherente a la programación.
El verdadero profesional sabe que entregar funcionalidad a expensas de la estructura es una tarea de locos.
Robert C. Martin

4/8
Editar imagen
El verdadero profesional sabe que entregar funcionalidad a expensas de la estructura es una tarea de locos.
Interpretar citas
Aquí, la cita captura la esencia del diseño de software: la funcionalidad no debe comprometer la estructura subyacente. Un profesional reconoce que una arquitectura de código sostenible y mantenible es esencial para el éxito a largo plazo y la adaptabilidad.
Tu carrera es tu responsabilidad. No es responsabilidad de tu empleador asegurarse de que seas atractivo en el mercado.
Robert C. Martin

5/8
Editar imagen
Tu carrera es tu responsabilidad. No es responsabilidad de tu empleador asegurarse de que seas atractivo en el mercado.
Interpretar citas
Esta cita pone la carga sobre el individuo para gestionar proactivamente su carrera. Subraya la importancia de la iniciativa personal en el desarrollo profesional, sugiriendo que el aprendizaje continuo y la superación personal deben ser autogestionados.
Si quieres ser un profesional, deberías conocer un buen trozo [de nuestro campo] y estar constantemente aumentando el tamaño de ese trozo.
Robert C. Martin

6/8
Editar imagen
Si quieres ser un profesional, deberías conocer un buen trozo [de nuestro campo] y estar constantemente aumentando el tamaño de ese trozo.
Interpretar citas
Esta afirmación aboga por la importancia tanto de la profundidad como de la amplitud en el conocimiento para los desarrolladores de software. Sugiere que para ser verdaderamente profesional, uno no solo debe poseer una sólida comprensión fundamental, sino también mantenerse curioso y comprometido con el aprendizaje continuo en el campo.
La mejor manera de aprender es enseñar.
Robert C. Martin

7/8
Editar imagen
La mejor manera de aprender es enseñar.
Interpretar citas
Esta afirmación señala la naturaleza recíproca de la transferencia de conocimiento; enseñar a otros refuerza la propia comprensión. Destaca el valor de la mentoría y la colaboración en el fomento del crecimiento profesional y la especialización.
Un profesional está seguro de sus habilidades, y asume riesgos audaces y calculados basados en esa confianza.
Robert C. Martin

8/8
Editar imagen
Un profesional está seguro de sus habilidades, y asume riesgos audaces y calculados basados en esa confianza.
Interpretar citas
Esta cita encapsula el equilibrio que los profesionales deben encontrar entre la confianza y la humildad. Sugiere que, si bien la autoconfianza es crucial para enfrentar desafíos, ser consciente de las propias limitaciones es igualmente importante para mantener la perspectiva y evitar la complacencia.
Capítulo 23 | Frases de las páginas 514-535

Hazlo; o no lo hagas. No hay intentos.” — Yoda
Robert C. Martin

1/7
Editar imagen
Hazlo; o no lo hagas. No hay intentos.” — Yoda
Interpretar citas
Esta cita de Yoda resalta la importancia del compromiso en cualquier tarea. Sugiere que uno debe entregarse por completo e invertir en el esfuerzo, en lugar de adoptar una actitud pasiva de simplemente intentar. En el contexto del desarrollo de software, esto se traduce en ofrecer resultados con confianza en lugar de hacer apuestas o poner excusas.
Los profesionales dicen la verdad al poder. Los profesionales tienen el valor de decir no a sus gerentes.
Robert C. Martin

2/7
Editar imagen
Los profesionales dicen la verdad al poder. Los profesionales tienen el valor de decir no a sus gerentes.
Interpretar citas
Esta afirmación subraya la esencia del profesionalismo en el lugar de trabajo. Los verdaderos profesionales deben poseer la integridad para mantener estándares de calidad, incluso cuando se enfrentan a presión de figuras de autoridad. Decir no en momentos críticos puede prevenir problemas imprevistos y conducir a mejores resultados.
Un jugador de equipo no es alguien que siempre dice que sí.
Robert C. Martin

3/7
Editar imagen
Un jugador de equipo no es alguien que siempre dice que sí.
Interpretar citas
Esta percepción desafía la creencia común de que el acuerdo equivale a trabajo en equipo. En cambio, ser un verdadero jugador de equipo requiere abogar por lo que es factible y necesario, incluso si eso significa tener conversaciones difíciles. Este enfoque fomenta un ambiente laboral más saludable donde todos los miembros pueden contar con la honestidad de los demás.
La única manera de hacer tu trabajo, en ese punto, es decir 'No, eso es imposible.'
Robert C. Martin

4/7
Editar imagen
La única manera de hacer tu trabajo, en ese punto, es decir 'No, eso es imposible.'
Interpretar citas
Esta cita capta la importancia de establecer expectativas realistas en un entorno profesional. Al no tener miedo de decir no cuando los plazos o las solicitudes son inviables, los profesionales pueden gestionar mejor los proyectos y, en última instancia, proteger la integridad de su trabajo.
Cuanto más altas las apuestas, más valioso se vuelve el no.
Robert C. Martin

5/7
Editar imagen
Cuanto más altas las apuestas, más valioso se vuelve el no.
Interpretar citas
Esto reflexiona sobre la naturaleza crítica de tomar decisiones difíciles en situaciones de alta presión. Decir no se convierte en una habilidad esencial cuando las posibles consecuencias del fracaso de un proyecto podrían ser graves. Entender cuándo rechazar demandas irrazonables puede proteger no solo el trabajo del individuo, sino también la reputación de la empresa.
¿Tienes un reservorio extra de energía que has estado conteniendo?
Robert C. Martin

6/7
Editar imagen
¿Tienes un reservorio extra de energía que has estado conteniendo?
Interpretar citas
Esta pregunta desafía a las personas a examinar sus autoexpectativas y su disposición a superar límites. Invita a reflexionar sobre si realmente se están aprovechando todas sus capacidades o si están utilizando el 'intentar' como una modalidad para evitar la responsabilidad.
Al prometer intentar, estás prometiendo cambiar tus planes.
Robert C. Martin

7/7
Editar imagen
Al prometer intentar, estás prometiendo cambiar tus planes.
Interpretar citas
Esta advertencia aborda la naturaleza a menudo engañosa de la palabra 'intentar'. Implica que establecer un compromiso para mejorar debe venir acompañado de planes concretos de acción. Sugerir simplemente que uno intentará, sin pasos accionables, a menudo es una manera encubierta de evadir responsabilidades.
Capítulo 24 | Frases de las páginas 536-547

Di. Significa. Haz. Hay tres partes para hacer un compromiso. 1. Dices que lo harás. 2. Lo dices en serio. 3. Realmente lo haces.
Robert C. Martin

1/5
Editar imagen
Di. Significa. Haz. Hay tres partes para hacer un compromiso. 1. Dices que lo harás. 2. Lo dices en serio. 3. Realmente lo haces.
Interpretar citas
Esta cita enfatiza la importancia de la integridad en los compromisos. Distingue entre simplemente hacer un compromiso y ejecutarlo de manera fiel. Un verdadero compromiso refleja no solo una promesa, sino también una intención seguida de una acción, lo cual es crucial en el mundo profesional.
Si no puedes encontrar esas pequeñas palabras mágicas, es probable que no signifiquemos lo que decimos, o que no creamos que sea factible.
Robert C. Martin

2/5
Editar imagen
Si no puedes encontrar esas pequeñas palabras mágicas, es probable que no signifiquemos lo que decimos, o que no creamos que sea factible.
Interpretar citas
Aquí, el autor destaca la importancia del lenguaje en la expresión del compromiso. La elección de palabras puede revelar la sinceridad y confianza de alguien en lo que promete. Reconocer expresiones vagas nos permite desafiarnos a nosotros mismos y a los demás a comunicarnos de manera más definitiva.
Te sentirás mal por no hacerlo. Te sentirás incómodo al contarle a alguien que no lo has hecho (si esa persona te escuchó prometer que lo harías). Da miedo, ¿no?
Robert C. Martin

3/5
Editar imagen
Te sentirás mal por no hacerlo. Te sentirás incómodo al contarle a alguien que no lo has hecho (si esa persona te escuchó prometer que lo harías). Da miedo, ¿no?
Interpretar citas
Esta cita aborda el impacto psicológico de hacer compromisos. Pone de manifiesto la presión interna que acompaña a las promesas, alentando a las personas a ser conscientes de sus compromisos y de las consecuencias de la inacción. Sugiere que asumir nuestros compromisos puede fomentar la responsabilidad.
El ingrediente secreto para reconocer un verdadero compromiso es buscar frases que suenen así: Haré . . . para . . .
Robert C. Martin

4/5
Editar imagen
El ingrediente secreto para reconocer un verdadero compromiso es buscar frases que suenen así: Haré . . . para . . .
Interpretar citas
En esta afirmación, el autor presenta una fórmula clara para hacer compromisos que puede ser fácilmente comprendida y en la que se puede confiar. Tal claridad no solo refuerza la responsabilidad, sino que también ayuda a construir confianza en las relaciones profesionales, ya que hace explícitas las expectativas.
Los profesionales no están obligados a decir que sí a todo lo que se les pide. Sin embargo, deben esforzarse por encontrar formas creativas de hacer posible el 'sí'.
Robert C. Martin

5/5
Editar imagen
Los profesionales no están obligados a decir que sí a todo lo que se les pide. Sin embargo, deben esforzarse por encontrar formas creativas de hacer posible el 'sí'.
Interpretar citas
Esta cita comunica un principio fundamental del profesionalismo: la capacidad de establecer límites mientras se busca soluciones. Anima a perseguir compromisos factibles en lugar de una cultura interminable de 'sí', instando a las personas a proponer caminos realistas para cumplir con las solicitudes.
Capítulo 25 | Frases de las páginas 548-567

Una de las cosas que ayudaron con esa confianza es que podía sentir cuando estaba cometiendo un error.
Robert C. Martin

1/8
Editar imagen
Una de las cosas que ayudaron con esa confianza es que podía sentir cuando estaba cometiendo un error.
Interpretar citas
Esta cita destaca la importancia de la autoconciencia y el reconocimiento de errores en el aprendizaje y la maestría. Sugiere que desarrollar un agudo sentido de tus errores es crucial no solo en la escritura, sino también en la programación y en la vida. Al agudizar esta conciencia, puedes cerrar rápidamente el ciclo de retroalimentación y ajustar tu enfoque, lo que lleva a un aprendizaje y mejora más efectivos.
Cuando no puedes concentrarte y enfocarte lo suficiente, el código que escribas estará mal.
Robert C. Martin

2/8
Editar imagen
Cuando no puedes concentrarte y enfocarte lo suficiente, el código que escribas estará mal.
Interpretar citas
Esta afirmación subraya la relación esencial entre la concentración y la calidad de tu trabajo. Enfatiza que las distracciones pueden llevar a código defectuoso e ineficiencias en la programación. Por lo tanto, mantener la concentración es primordial para entregar un trabajo de alta calidad, reiterando la necesidad de eliminar distracciones para optimizar el rendimiento.
La moraleja de esta historia es: No escribas código cuando estés cansado.
Robert C. Martin

3/8
Editar imagen
La moraleja de esta historia es: No escribas código cuando estés cansado.
Interpretar citas
Este consejo habla sobre el valor del autocuidado y la gestión efectiva del tiempo en la programación. Escribir código mientras estás fatigado puede llevar a errores y malas decisiones de diseño, haciendo vital trabajar solo cuando estés alerta y en un buen estado mental. Refuerza la idea de que la integridad profesional implica reconocer tus límites y la importancia de la agudeza mental en las tareas técnicas.
La creatividad y la inteligencia son estados de ánimo efímeros.
Robert C. Martin

4/8
Editar imagen
La creatividad y la inteligencia son estados de ánimo efímeros.
Interpretar citas
Esta cita captura de manera conmovedora la naturaleza transitoria de la creatividad y la inteligencia, destacando la importancia de reconocer cuándo dar un paso atrás. Insistir en continuar a través de la fatiga mental puede obstaculizar las habilidades de resolución de problemas, por lo que tomar descansos para refrescar la mente es crucial. Sirve como un recordatorio de que las soluciones a menudo vienen cuando permites que tu subconsciente se involucre con el desafío en cuestión.
Programar es difícil. Cuanto más joven eres, menos crees esto.
Robert C. Martin

5/8
Editar imagen
Programar es difícil. Cuanto más joven eres, menos crees esto.
Interpretar citas
Esta cita refleja el viaje de entender las complejidades de la programación a medida que uno gana experiencia. Nos recuerda que los desafíos de codificar a menudo pueden ser subestimados por los recién llegados, y sugiere que la maestría requiere un aprendizaje continuo y resiliencia. Este reconocimiento de la dificultad invita a la madurez y profesionalismo en el abordaje de la técnica.
Es poco profesional quedarse atascado cuando la ayuda está fácilmente accesible.
Robert C. Martin

6/8
Editar imagen
Es poco profesional quedarse atascado cuando la ayuda está fácilmente accesible.
Interpretar citas
Aquí, el autor enfatiza la responsabilidad ética de los programadores de buscar asistencia cuando la necesitan. Este sentimiento fomenta la colaboración y la comunicación abierta, ya que valorar el trabajo en equipo puede conducir a mejores resultados. Refuerza la idea de que buscar ayuda no es un signo de debilidad, sino un distintivo de profesionalismo.
La entrega falsa es quizás el peor de todos los comportamientos poco profesionales en los que un programador puede incurrir.
Robert C. Martin

7/8
Editar imagen
La entrega falsa es quizás el peor de todos los comportamientos poco profesionales en los que un programador puede incurrir.
Interpretar citas
Esta cita destaca los peligros de subestimar las complejidades de una tarea y las implicaciones de declarar un trabajo incompleto como terminado. Sirve como un recordatorio cautelar de la importancia de la honestidad y la transparencia en la comunicación dentro de un equipo. Establecer definiciones claras de 'hecho' puede ayudar a cultivar una cultura de responsabilidad y asegurar la finalización exitosa del proyecto.
No dejes que nadie más tenga esperanza.
Robert C. Martin

8/8
Editar imagen
No dejes que nadie más tenga esperanza.
Interpretar citas
Esta poderosa afirmación refleja la necesidad de una comunicación honesta en la gestión de proyectos. Advierte contra los peligros del optimismo falso que pueden surgir de proyecciones poco realistas y sirve como un llamado a la transparencia al enfrentar plazos. Fomenta un enfoque pragmático para la resolución de problemas, donde el equipo está informado sobre las capacidades y desafíos reales.
Capítulo 26 | Frases de las páginas 568-575

¡El veredicto ha sido emitido! La controversia ha terminado. GOTO es perjudicial. Y el TDD funciona.
Robert C. Martin

1/6
Editar imagen
¡El veredicto ha sido emitido! La controversia ha terminado. GOTO es perjudicial. Y el TDD funciona.
Interpretar citas
En esta poderosa declaración, Robert C. Martin enfatiza el hecho establecido de que el Desarrollo Guiado por Pruebas (TDD) es una práctica efectiva en el desarrollo de software. Desestima los debates en curso sobre la eficacia del TDD como algo obsoleto, encapsulando la idea de que, como industria, deberíamos adoptar métodos que han demostrado ser exitosos en lugar de dejar que la controversia dicte nuestras prácticas. La referencia a 'GOTO es perjudicial' establece un paralelismo con la necesidad de prácticas de programación disciplinadas que mejoren la calidad del código, abogando en última instancia por el TDD como una solución probada.
¿Cómo puedes considerarte un profesional si no sabes que todo tu código funciona?
Robert C. Martin

2/6
Editar imagen
¿Cómo puedes considerarte un profesional si no sabes que todo tu código funciona?
Interpretar citas
Esta cita desafía la ética fundamental del profesionalismo en el campo de la ingeniería de software. Martin sostiene que un verdadero profesional debe garantizar la fiabilidad y corrección de su código, lo que solo se puede lograr a través de prácticas rigurosas de prueba. Sirve como un recordatorio de que la responsabilidad y la garantía de calidad son elementos esenciales del papel de un programador, enfatizando la importancia del TDD para facilitar esta responsabilidad.
Si adoptas el TDD como una disciplina profesional, entonces escribirás docenas de pruebas cada día, cientos de pruebas cada semana y miles de pruebas cada año.
Robert C. Martin

3/6
Editar imagen
Si adoptas el TDD como una disciplina profesional, entonces escribirás docenas de pruebas cada día, cientos de pruebas cada semana y miles de pruebas cada año.
Interpretar citas
Aquí, Martin subraya el volumen significativo de pruebas que conlleva adoptar el TDD como práctica. Esta frecuencia de pruebas ilustra no solo la exhaustividad necesaria para garantizar la fiabilidad del código, sino también el bucle de retroalimentación continua que crea el TDD, permitiendo a los desarrolladores refinar y mejorar su código de manera iterativa. La implicación es clara: adoptar el TDD fomenta una cultura de calidad, donde las pruebas son parte integral del proceso de desarrollo.
¡Cuando los programadores pierden el miedo a limpiar, limpian! Y el código limpio es más fácil de entender, más fácil de cambiar y más fácil de extender.
Robert C. Martin

4/6
Editar imagen
¡Cuando los programadores pierden el miedo a limpiar, limpian! Y el código limpio es más fácil de entender, más fácil de cambiar y más fácil de extender.
Interpretar citas
Esta cita capta el efecto transformador que el TDD tiene en la mentalidad de un programador hacia el mantenimiento y refactorización del código. Al tener un conjunto completo de pruebas, los desarrolladores ganan confianza en modificar y mejorar el código existente sin el miedo de introducir errores de manera inadvertida. Encapsula la idea de que con el TDD, la base de código no solo se vuelve más limpia, sino que también evoluciona más fácilmente a medida que los desarrolladores participan activamente en mejorar la calidad del código.
Cada una de las pruebas unitarias que escribes al seguir las tres leyes es un ejemplo, escrito en código, que describe cómo debe usarse el sistema.
Robert C. Martin

5/6
Editar imagen
Cada una de las pruebas unitarias que escribes al seguir las tres leyes es un ejemplo, escrito en código, que describe cómo debe usarse el sistema.
Interpretar citas
Martin ilustra maravillosamente el doble papel de las pruebas unitarias en el TDD: no solo sirven para validar la funcionalidad, sino que también actúan como documentación viva de cómo funciona el sistema. Esta perspectiva recontextualiza las pruebas de simples verificaciones de cumplimiento a guías valiosas para otros desarrolladores. Enfatiza la practicidad y utilidad de las pruebas al proporcionar documentación clara y ejecutable, enriqueciendo así el proceso de desarrollo.
La conclusión de todo esto es que el TDD es la opción profesional. Es una disciplina que mejora la certeza, el coraje, la reducción de defectos, la documentación y el diseño.
Robert C. Martin

6/6
Editar imagen
La conclusión de todo esto es que el TDD es la opción profesional. Es una disciplina que mejora la certeza, el coraje, la reducción de defectos, la documentación y el diseño.
Interpretar citas
En esta declaración concluyente, Martin aboga firmemente por el TDD como un aspecto esencial del desarrollo profesional de software. Enumera los multifacéticos beneficios del TDD: fomenta la confianza a través de la automatización, promueve el coraje para refactorizar, conduce a menos defectos, mejora la documentación y estimula un mejor pensamiento de diseño. Esto posiciona al TDD no solo como una técnica, sino como un enfoque holístico de la integridad profesional en la codificación.
Capítulo 27 | Frases de las páginas 576-585

Todos los profesionales practican su arte participando en ejercicios para agudizar sus habilidades.
Robert C. Martin

1/7
Editar imagen
Todos los profesionales practican su arte participando en ejercicios para agudizar sus habilidades.
Interpretar citas
Esta cita enfatiza la naturaleza esencial de la práctica en diversas profesiones. Ya sean músicos, atletas o médicos, la práctica continua es vital para perfeccionar habilidades y mejorar el rendimiento. Para los programadores, esto debería convertirse en una parte fundamental de su carrera, destacando la idea de que simplemente escribir código no es suficiente; también deben participar en una práctica deliberada para dominar su oficio.
La naturaleza de las declaraciones no ha cambiado en todo ese tiempo.
Robert C. Martin

2/7
Editar imagen
La naturaleza de las declaraciones no ha cambiado en todo ese tiempo.
Interpretar citas
Aquí, el autor reflexiona sobre la evolución de la programación a lo largo de las décadas. A pesar de los avances significativos en tecnología, herramientas y entornos, los constructos fundamentales de la programación—como las declaraciones if y los bucles—permanecen inalterados. Esto subraya un aspecto atemporal de la programación donde los principios esenciales perduran en medio del rápido progreso tecnológico.
La velocidad depende de la práctica.
Robert C. Martin

3/7
Editar imagen
La velocidad depende de la práctica.
Interpretar citas
Esta afirmación establece un paralelismo entre las artes marciales y la programación, sugiriendo que la competencia y rapidez en la toma de decisiones provienen de una práctica extensa. Así como los artistas marciales entrenan sus cuerpos para reaccionar instintivamente, los programadores deben practicar técnicas de codificación para construir habilidades reflexivas que les permitan resolver problemas de manera eficiente y ejecutar rápido.
El objetivo es entrenar tu mente y cuerpo para reaccionar en una situación de combate particular.
Robert C. Martin

4/7
Editar imagen
El objetivo es entrenar tu mente y cuerpo para reaccionar en una situación de combate particular.
Interpretar citas
En esta metáfora, la práctica de kata en artes marciales se compara con ejercicios de programación. El propósito de estas prácticas estructuradas no es simplemente realizar ejercicios, sino internalizar las respuestas para que se conviertan en una segunda naturaleza. Para los programadores, esto significa dominar patrones y técnicas de codificación para poder abordar problemas del mundo real de manera efectiva y sin esfuerzo.
Es notable cuánto puedes aprender de estas sesiones.
Robert C. Martin

5/7
Editar imagen
Es notable cuánto puedes aprender de estas sesiones.
Interpretar citas
El autor destaca el valor de las sesiones de práctica colaborativa, como los dojos de codificación. Estos entornos facilitan el aprendizaje compartido y la exposición a diferentes enfoques para resolver problemas. Involucrarse con compañeros de esta manera amplía el conjunto de habilidades y perspectivas, esenciales para el crecimiento personal y profesional en el campo en rápida evolución del desarrollo de software.
Practicar es lo que haces cuando no te están pagando.
Robert C. Martin

6/7
Editar imagen
Practicar es lo que haces cuando no te están pagando.
Interpretar citas
Esta afirmación refuerza la idea de que el desarrollo profesional es una responsabilidad personal. Los programadores deben tomar la iniciativa de seguir aprendiendo y perfeccionando sus habilidades fuera del horario laboral. Esta práctica impulsada por uno mismo no solo mejora la empleabilidad, sino que también fomenta una mentalidad enfocada en la mejora constante y la pasión por la disciplina.
Además, practican en su tiempo libre porque se dan cuenta de que es su responsabilidad—y no la de su empleador—mantener sus habilidades afiladas.
Robert C. Martin

7/7
Editar imagen
Además, practican en su tiempo libre porque se dan cuenta de que es su responsabilidad—y no la de su empleador—mantener sus habilidades afiladas.
Interpretar citas
Aquí, el autor subraya la autonomía y la naturaleza proactiva de convertirse en un gran programador. No es responsabilidad del empleador asegurar el desarrollo de habilidades; más bien, recae en el individuo. Adoptar esta mentalidad refleja una actitud profesional comprometida con el crecimiento personal y la excelencia en su oficio.
Capítulo 28 | Frases de las páginas -603

El papel del desarrollador profesional es tanto un rol de comunicación como un rol de desarrollo.
Robert C. Martin

1/10
Editar imagen
El papel del desarrollador profesional es tanto un rol de comunicación como un rol de desarrollo.
Interpretar citas
Esta cita enfatiza la doble responsabilidad de los desarrolladores: no solo deben escribir código, sino que también deben comunicarse de manera efectiva con los miembros del equipo y las partes interesadas. Destaca que la calidad del software producido puede verse influenciada directamente por la claridad y precisión de la comunicación, recordándonos que el buen desarrollo de software es tanto sobre trabajo en equipo y entendimiento como sobre habilidades técnicas.
Nos tomó todo un día. Él describía una función y yo la implementaba mientras él observaba.
Robert C. Martin

2/10
Editar imagen
Nos tomó todo un día. Él describía una función y yo la implementaba mientras él observaba.
Interpretar citas
Esto ilustra la naturaleza iterativa del desarrollo de software en un escenario real. Al colaborar estrechamente durante el proceso de desarrollo de la aplicación, los desarrolladores y las partes interesadas pueden alinear sus visiones y abordar la ambigüedad de manera efectiva. Significa la importancia de la retroalimentación continua y la adaptación en la construcción de software utilizable, reforzando que la claridad proviene de la interacción directa.
El problema es que las cosas parecen diferentes en papel que en un sistema en funcionamiento.
Robert C. Martin

3/10
Editar imagen
El problema es que las cosas parecen diferentes en papel que en un sistema en funcionamiento.
Interpretar citas
Esto destaca un desafío común en el desarrollo de software: la desconexión entre los requisitos teóricos y la experiencia real del usuario. Sugiere que las suposiciones hechas durante la fase de planificación a menudo no se traducen sin problemas en el producto final, recordando a los desarrolladores que involucren a la gerencia y a los usuarios en discusiones continuas a lo largo del proceso de desarrollo.
Cuanto más precisos hagas tus requisitos, menos relevantes se vuelven a medida que se implementa el sistema.
Robert C. Martin

4/10
Editar imagen
Cuanto más precisos hagas tus requisitos, menos relevantes se vuelven a medida que se implementa el sistema.
Interpretar citas
Aquí, el autor advierte sobre los peligros de esforzarse por requisitos excesivamente precisos al principio del ciclo de vida del desarrollo de software. Sugiere que la rigidez en las especificaciones puede llevar a malentendidos y expectativas no cumplidas, abogando por un enfoque más fluido donde los requisitos evolucionan junto con la retroalimentación del usuario.
Es responsabilidad de los desarrolladores profesionales (y de las partes interesadas) asegurar que toda ambigüedad sea eliminada de los requisitos.
Robert C. Martin

5/10
Editar imagen
Es responsabilidad de los desarrolladores profesionales (y de las partes interesadas) asegurar que toda ambigüedad sea eliminada de los requisitos.
Interpretar citas
Esto subraya la responsabilidad compartida de tanto los desarrolladores como de los clientes en el proceso de desarrollo de software. Implica que una colaboración exitosa es clave, y que resistir las suposiciones es esencial para abordar malentendidos y garantizar que el producto final realmente satisfaga las necesidades del usuario.
Los desarrolladores profesionales no detallan un requisito hasta que están a punto de desarrollarlo.
Robert C. Martin

6/10
Editar imagen
Los desarrolladores profesionales no detallan un requisito hasta que están a punto de desarrollarlo.
Interpretar citas
Esta cita sugiere una estrategia de posponer requisitos detallados hasta justo antes de la implementación, abogando por un enfoque ágil donde se mantiene la flexibilidad hasta que sea absolutamente necesario. Refleja la realidad de que las ideas iniciales a menudo cambian a través de la discusión y el prototipado, significando que la precisión temprana podría desperdiciarse.
Cuando un desarrollador dice que ha terminado con una tarea, ¿qué significa eso?
Robert C. Martin

7/10
Editar imagen
Cuando un desarrollador dice que ha terminado con una tarea, ¿qué significa eso?
Interpretar citas
Esta pregunta sirve como un estímulo para reflexionar sobre la ambigüedad que rodea el término 'terminado' en el desarrollo de software. Señala la necesidad de establecer definiciones concretas para los hitos del proyecto para prevenir malas comunicaciones y asegurar que todas las partes tengan una comprensión compartida del estado del proyecto.
Las pruebas de aceptación siempre deben ser automatizadas.
Robert C. Martin

8/10
Editar imagen
Las pruebas de aceptación siempre deben ser automatizadas.
Interpretar citas
El autor aboga por la automatización de las pruebas de aceptación para ahorrar tiempo y recursos a largo plazo. Al asegurar que las pruebas se ejecuten continuamente y proporcionen retroalimentación inmediata, los equipos pueden detectar problemas temprano, mantener la calidad y sostener el impulso del proyecto, destacando la eficiencia ganada a través de flujos de trabajo automatizados.
Escribir estas pruebas es simplemente el trabajo de especificar el sistema.
Robert C. Martin

9/10
Editar imagen
Escribir estas pruebas es simplemente el trabajo de especificar el sistema.
Interpretar citas
Esta destilación de la esencia de escribir pruebas de aceptación las enmarca como documentación esencial en lugar de trabajo adicional. Reenmarca el esfuerzo puesto en escribir estas pruebas como una práctica necesaria que mejora la comunicación y la claridad, llevando en última instancia a un mejor producto.
El costo de automatizar pruebas de aceptación es tan pequeño en comparación con el costo de ejecutar planes de prueba manuales que no tiene sentido económico escribir guiones para que los humanos los ejecuten.
Robert C. Martin

10/10
Editar imagen
El costo de automatizar pruebas de aceptación es tan pequeño en comparación con el costo de ejecutar planes de prueba manuales que no tiene sentido económico escribir guiones para que los humanos los ejecuten.
Interpretar citas
Las implicaciones de esta cita se extienden al presupuesto del proyecto y la asignación de recursos. Refuerza la idea de que invertir por adelantado en automatización rinde dividendos a lo largo del tiempo en términos de aseguramiento de calidad y minimización de riesgos, presentando un caso sólido para adoptar patrones de prueba automatizados.
Capítulo 29 | Frases de las páginas 604-611

Los desarrolladores profesionales prueban su código.
Robert C. Martin

1/7
Editar imagen
Los desarrolladores profesionales prueban su código.
Interpretar citas
Esta cita enfatiza la responsabilidad fundamental de los desarrolladores de asegurar la calidad de su código a través de pruebas. Las pruebas no son solo una tarea para marcar; son cruciales para mantener altos estándares en el desarrollo de software. El mensaje aquí anima a los desarrolladores a adoptar un enfoque proactivo hacia la garantía de calidad.
Lo que cada equipo de desarrollo profesional necesita es una buena estrategia de pruebas.
Robert C. Martin

2/7
Editar imagen
Lo que cada equipo de desarrollo profesional necesita es una buena estrategia de pruebas.
Interpretar citas
Esto resalta la importancia de un enfoque estructurado para las pruebas en lugar de métodos ad hoc. Una estrategia de pruebas bien definida integra varios tipos de pruebas a lo largo del proceso de desarrollo y reduce las posibilidades de defectos. Refleja una comprensión de que las pruebas son un proceso continuo en lugar de un paso final.
Debería ser el objetivo del grupo de desarrollo que QA no encuentre nada mal.
Robert C. Martin

3/7
Editar imagen
Debería ser el objetivo del grupo de desarrollo que QA no encuentre nada mal.
Interpretar citas
Este objetivo aspiracional promueve la responsabilidad dentro del equipo de desarrollo. Refuerza la idea de que los desarrolladores deben asumir la calidad de su trabajo, esforzándose por minimizar los defectos y lograr un alto nivel de artesanía. Al establecer altos estándares, los equipos pueden adoptar una cultura de excelencia y aprender de los errores.
QA y Desarrollo deberían trabajar juntos para garantizar la calidad del sistema.
Robert C. Martin

4/7
Editar imagen
QA y Desarrollo deberían trabajar juntos para garantizar la calidad del sistema.
Interpretar citas
Aquí, se destaca la colaboración entre QA y desarrollo como esencial para lograr calidad. Este trabajo en equipo fomenta la comunicación clara y la responsabilidad compartida por las entregas, y anima a ambas partes a entender las perspectivas y desafíos del otro. Este enfoque colaborativo puede llevar a un mejor producto y a un equipo más cohesionado.
La intención de estas pruebas es especificar el sistema al nivel más bajo.
Robert C. Martin

5/7
Editar imagen
La intención de estas pruebas es especificar el sistema al nivel más bajo.
Interpretar citas
Esta cita subraya el papel fundamental de las pruebas unitarias en una estrategia de pruebas integral. Al definir la funcionalidad del sistema a un nivel granular, los desarrolladores pueden detectar problemas temprano y asegurar que los componentes individuales funcionen como se espera antes de la integración. Señala la importancia de una verificación orientada a los detalles en la producción de sistemas confiables.
El comportamiento correcto del código subyacente y de los componentes ya ha sido verificado por las capas inferiores de la pirámide.
Robert C. Martin

6/7
Editar imagen
El comportamiento correcto del código subyacente y de los componentes ya ha sido verificado por las capas inferiores de la pirámide.
Interpretar citas
Esto significa el enfoque por capas en la prueba donde varios niveles (unidad, componente, integración, sistema) se construyen uno sobre el otro. Asegura a los equipos que al probar diligentemente en niveles más bajos, se necesita menos esfuerzo para validar integraciones de niveles superiores. Esta comprensión mejora la eficiencia en el proceso de pruebas y reduce los posibles errores en el comportamiento del sistema.
El objetivo es asegurar que el sistema se comporte bien bajo operación humana y encontrar creativamente la mayor cantidad de 'peculiaridades' posible.
Robert C. Martin

7/7
Editar imagen
El objetivo es asegurar que el sistema se comporte bien bajo operación humana y encontrar creativamente la mayor cantidad de 'peculiaridades' posible.
Interpretar citas
Esta cita captura la esencia de las pruebas exploratorias, celebrando la intuición humana y la creatividad en la garantía de calidad del software. Sugiere que, aunque las pruebas automatizadas cubren muchos escenarios, los usuarios reales pueden descubrir comportamientos inesperados que las máquinas pueden pasar por alto. Fomentar las pruebas exploratorias puede mejorar la profundidad de la validación del software y aumentar la satisfacción del usuario.
Capítulo 30 | Frases de las páginas 612-625

Ocho horas es un período de tiempo notablemente corto. Son solo 480 minutos o 28,800 segundos.
Robert C. Martin

1/6
Editar imagen
Ocho horas es un período de tiempo notablemente corto. Son solo 480 minutos o 28,800 segundos.
Interpretar citas
Esta cita enfatiza la naturaleza efímera del tiempo en nuestra vida diaria, especialmente en el contexto del trabajo profesional. Sirve como un recordatorio de que una gestión efectiva del tiempo es crucial para la productividad, ya que cada segundo debe ser utilizado sabiamente. La brevedad de la jornada laboral puede motivar a las personas a centrarse en maximizar su eficiencia.
No tienes que asistir a todas las reuniones a las que te invitan.
Robert C. Martin

2/6
Editar imagen
No tienes que asistir a todas las reuniones a las que te invitan.
Interpretar citas
Esta cita resalta la importancia de ser selectivo con los compromisos en el lugar de trabajo, particularmente con reuniones que pueden consumir tiempo valioso. Aboga por la responsabilidad personal en la gestión de la agenda para priorizar tareas que son realmente significativas. Al rechazar reuniones innecesarias, los profesionales pueden conservar su tiempo y productividad.
Cuando la reunión se vuelva aburrida, sal.
Robert C. Martin

3/6
Editar imagen
Cuando la reunión se vuelva aburrida, sal.
Interpretar citas
Esta cita anima a las personas a ser proactivas en la gestión de su tiempo durante reuniones improductivas. Subraya la idea de que mantener el enfoque es vital para la eficiencia, y que permanecer en una reunión que ya no aporta valor es contraproducente. Saber cuándo salir demuestra profesionalismo y autogestión.
El enfoque es un recurso escaso, parecido al maná.
Robert C. Martin

4/6
Editar imagen
El enfoque es un recurso escaso, parecido al maná.
Interpretar citas
En esta metáfora, el enfoque se describe como una mercancía limitada y preciosa que debe ser gestionada cuidadosamente. La analogía del 'maná' sugiere que el enfoque debe ser reabastecido y preservado para un trabajo significativo, al igual que la sustancia es necesaria para la vida. Esta idea inspira a los profesionales a reconocer sus límites y tomar medidas para proteger sus recursos mentales.
Cuando estés en un hoyo, deja de cavar.
Robert C. Martin

5/6
Editar imagen
Cuando estés en un hoyo, deja de cavar.
Interpretar citas
Este consejo resume la importancia de reconocer cuándo una estrategia o decisión está llevando a un callejón sin salida y tener la humildad de cambiar de rumbo. Fomenta la adaptabilidad y la percepción en el trabajo, instando a los profesionales a modificar su enfoque en lugar de avanzar ciegamente. Esta sabiduría es crucial para prevenir problemas y ineficiencias a largo plazo.
No hay vista más triste que un equipo de desarrolladores de software luchando inútilmente a través de un pantano cada vez más profundo.
Robert C. Martin

6/6
Editar imagen
No hay vista más triste que un equipo de desarrolladores de software luchando inútilmente a través de un pantano cada vez más profundo.
Interpretar citas
Esta cita encapsula de manera sucinta las graves consecuencias de los proyectos mal gestionados y la creciente deuda técnica. Ilustra cómo la falta de atención a los problemas emergentes puede llevar a los equipos a un ciclo de ineficiencia. La imagen sirve para recordar a los profesionales que la resolución proactiva de problemas es esencial para mantener la productividad y la moral.
Capítulo 31 | Frases de las páginas 626-639

La estimación es una de las actividades más simples, pero también más aterradoras que enfrentan los profesionales del software.
Robert C. Martin

1/5
Editar imagen
La estimación es una de las actividades más simples, pero también más aterradoras que enfrentan los profesionales del software.
Interpretar citas
Esta cita identifica la naturaleza conflictiva de la estimación en el desarrollo de software: es una tarea básica que es esencial, pero que puede inducir una ansiedad significativa. El peso del valor comercial y la reputación personal está vinculado a estas estimaciones, lo que resalta el papel crítico que juegan en la intersección entre desarrolladores y líderes empresariales. Una estimación adecuada puede cerrar brechas en la comunicación y la confianza, fundamentales para una gestión de proyectos exitosa.
Los negocios tienden a ver las estimaciones como compromisos. Los desarrolladores prefieren ver las estimaciones como conjeturas.
Robert C. Martin

2/5
Editar imagen
Los negocios tienden a ver las estimaciones como compromisos. Los desarrolladores prefieren ver las estimaciones como conjeturas.
Interpretar citas
Esta afirmación captura la desalineación central entre las expectativas empresariales y la realidad de los desarrolladores con respecto a los plazos de los proyectos. Cuando las empresas tratan las estimaciones como plazos firmes, se genera presión y expectativas potencialmente poco realistas, mientras que los desarrolladores a menudo ven las estimaciones como flexibles e inciertas. Reconocer esta diferencia es clave para fomentar un diálogo más saludable y una planificación realista.
Un compromiso es algo que debes cumplir. Una estimación es una conjetura.
Robert C. Martin

3/5
Editar imagen
Un compromiso es algo que debes cumplir. Una estimación es una conjetura.
Interpretar citas
Aquí, el autor distingue de manera sucinta entre el compromiso y la estimación, enfatizando que solo la plena confianza debe justificar un compromiso. Esta perspectiva alienta a los desarrolladores a ser transparentes sobre la incertidumbre y a comunicar claramente sus limitaciones. Resalta la importancia de mantener la integridad y establecer expectativas realistas sobre la productividad.
Una estimación es una distribución.
Robert C. Martin

4/5
Editar imagen
Una estimación es una distribución.
Interpretar citas
Esta profunda visión redefine nuestra comprensión de las estimaciones, sugiriendo que no son valores únicos, sino un rango de posibilidades que reflejan incertidumbre. Al enmarcar las estimaciones como distribuciones, los equipos pueden comunicar mejor la probabilidad de diferentes resultados, lo que permite una planificación más estratégica y una gestión de riesgos eficaz. Fomenta un cambio de mentalidad hacia la aceptación de la incertidumbre en lugar de temerle.
El recurso más importante para la estimación que tienes son las personas a tu alrededor.
Robert C. Martin

5/5
Editar imagen
El recurso más importante para la estimación que tienes son las personas a tu alrededor.
Interpretar citas
Esta cita enfatiza la naturaleza colaborativa de una estimación efectiva. Destaca el valor de la participación del equipo, sugiriendo que las percepciones colectivas conducen a evaluaciones más precisas. La colaboración aprovecha experiencias y perspectivas diversas, enriqueciendo el proceso de estimación y reforzando la cohesión del equipo.
Capítulo 32 | Frases de las páginas 640-647

El desarrollador profesional se mantiene calmado y decidido bajo presión.
Robert C. Martin

1/6
Editar imagen
El desarrollador profesional se mantiene calmado y decidido bajo presión.
Interpretar citas
Esta cita enfatiza la cualidad esencial del profesionalismo en el desarrollo de software. Sugiere que, en lugar de sucumbir al pánico durante situaciones estresantes, un desarrollador dedicado debería confiar en su formación y experiencia. Una actitud calmada no solo permite tomar mejores decisiones, sino que también infunde confianza en el equipo.
Todo cambió ese día. Detuve las horas locas. Detuve el estilo de vida de alto estrés. Dejé de lanzar bolígrafos y escribir funciones en C de 3,000 líneas.
Robert C. Martin

2/6
Editar imagen
Todo cambió ese día. Detuve las horas locas. Detuve el estilo de vida de alto estrés. Dejé de lanzar bolígrafos y escribir funciones en C de 3,000 líneas.
Interpretar citas
Este momento representa una transformación crucial en la vida del autor, donde se da cuenta de la naturaleza insostenible de sus hábitos laborales anteriores. Significa un cambio importante hacia la priorización no solo de la salud mental y el bienestar, sino también de entender que el trabajo de calidad es más importante que la productividad caótica. La liberación de hábitos de alto estrés a menudo conduce a trayectorias profesionales más sostenibles y placenteras.
La mejor manera de mantenerse calmado bajo presión es evitar las situaciones que generan presión.
Robert C. Martin

3/6
Editar imagen
La mejor manera de mantenerse calmado bajo presión es evitar las situaciones que generan presión.
Interpretar citas
Esta cita resalta un enfoque proactivo para manejar el estrés en el lugar de trabajo. Al reconocer y evitar los factores estresantes que conducen a situaciones de alta presión, los profesionales pueden mantener mejor claridad mental y efectividad. Aboga por la importancia de la planificación y la comunicación para establecer expectativas realistas, lo que, en última instancia, mitiga crisis potenciales.
Sabes en qué crees al observarte a ti mismo en una crisis. Si en una crisis sigues tus disciplinas, entonces realmente crees en esas disciplinas.
Robert C. Martin

4/6
Editar imagen
Sabes en qué crees al observarte a ti mismo en una crisis. Si en una crisis sigues tus disciplinas, entonces realmente crees en esas disciplinas.
Interpretar citas
Esta percepción subraya la importancia de adherirse a los principios propios, especialmente bajo presión. Es un recordatorio de que el verdadero compromiso con una práctica, como el Desarrollo Guiado por Pruebas o Código limpio, se pone a prueba en momentos desafiantes. La estabilidad que brindan estas disciplinas puede guiar a los desarrolladores a través de tiempos turbulentos y validar su efectividad.
Resiste esa tentación a toda costa. Apresurarte solo te llevará más profundamente al agujero.
Robert C. Martin

5/6
Editar imagen
Resiste esa tentación a toda costa. Apresurarte solo te llevará más profundamente al agujero.
Interpretar citas
Esta cita aconseja contra el instinto de apresurarse a medida que se acercan las fechas límite. En su lugar, anima a los desarrolladores a dar un paso atrás, pensar estratégicamente y abordar los problemas de manera metódica para prevenir problemas agravantes. Esto refleja una lección de vida más amplia: que las decisiones apresuradas a menudo conducen a problemas más grandes, reforzando el valor de la resolución de problemas de manera calmada y reflexiva.
El truco para manejar la presión es evitarla cuando puedes, y resistirla cuando no puedes.
Robert C. Martin

6/6
Editar imagen
El truco para manejar la presión es evitarla cuando puedes, y resistirla cuando no puedes.
Interpretar citas
Esto captura sucintamente la estrategia dual para manejar situaciones alimentadas por el estrés. Enfatiza la importancia de medidas preventivas como una planificación adecuada y una comunicación clara, al tiempo que reconoce que algunas presiones son inevitables. Cuando se enfrenta a tal presión, se hace un llamado a mantenerse compuesto y utilizar sistemas de apoyo, subrayando el equilibrio entre el control y la adaptabilidad en la vida profesional.
Capítulo 33 | Frases de las páginas 648-657

La mayoría del software es creado por equipos. Los equipos son más efectivos cuando sus miembros colaboran de manera profesional.
Robert C. Martin

1/7
Editar imagen
La mayoría del software es creado por equipos. Los equipos son más efectivos cuando sus miembros colaboran de manera profesional.
Interpretar citas
Esta cita enfatiza la naturaleza esencial de la colaboración en el desarrollo de software. Destaca que la efectividad de un equipo depende de la capacidad de sus miembros para trabajar juntos de manera profesional. En un campo que a menudo prospera en la autonomía técnica, este recordatorio refuerza la idea de que el trabajo en equipo y la comunicación son vitales para el éxito.
La única vez que fui despedido de un trabajo de programación fue en 1976.
Robert C. Martin

2/7
Editar imagen
La única vez que fui despedido de un trabajo de programación fue en 1976.
Interpretar citas
Esta anécdota revela un momento crucial en la carrera del autor, mostrando la importancia de comprender la dinámica organizacional y las expectativas. La experiencia sirve como una fábula cautelar sobre cómo la habilidad técnica por sí sola es insuficiente si uno no se compromete con los objetivos más amplios del negocio. Ilustra que el comportamiento profesional y la colaboración son cruciales, reafirmando la idea de que el éxito va más allá de los logros individuales.
Es bueno tener pasión por lo que hacemos. Pero también es importante mantener la vista en los objetivos de las personas que te pagan.
Robert C. Martin

3/7
Editar imagen
Es bueno tener pasión por lo que hacemos. Pero también es importante mantener la vista en los objetivos de las personas que te pagan.
Interpretar citas
Aquí, el autor equilibra la pasión por la programación con la responsabilidad profesional. Esta afirmación sirve como un recordatorio de que ser programador implica más que solo codificar; requiere alinearse con los objetivos del negocio y entender sus necesidades. Subraya que la excelencia técnica debe acompañarse de una conciencia de los objetivos más amplios para que un programador realmente aporte valor.
Lo peor que puede hacer un programador profesional es enterrarse blissfully en una tumba de tecnología mientras el negocio se estrellan a su alrededor.
Robert C. Martin

4/7
Editar imagen
Lo peor que puede hacer un programador profesional es enterrarse blissfully en una tumba de tecnología mientras el negocio se estrellan a su alrededor.
Interpretar citas
Esta advertencia contundente contra el aislamiento tecnológico habla de la necesidad de mantenerse conectado con el contexto empresarial en el que operan los programadores. Sugiere que una obsesión con la tecnología a expensas de la conciencia empresarial puede conducir a resultados desastrosos. Esta cita pinta un cuadro vívido de las graves consecuencias de descuidar las relaciones interpersonales y organizacionales en favor de búsquedas técnicas solitarias.
Los desarrolladores profesionales no impiden que otros trabajen en el código. No construyen muros de propiedad alrededor del código.
Robert C. Martin

5/7
Editar imagen
Los desarrolladores profesionales no impiden que otros trabajen en el código. No construyen muros de propiedad alrededor del código.
Interpretar citas
Esta cita defiende el concepto de propiedad colectiva del código como un elemento clave de la efectiva colaboración en equipo. Aboga por un entorno donde se fomente el intercambio de conocimientos y donde los miembros del equipo puedan contribuir a diversas partes de la base de código. Esta ética colaborativa puede llevar a una mayor calidad e innovación, al tiempo que fomenta un ambiente de equipo más cooperativo.
Dos cabezas son mejor que una. Pero si emparejarse es la forma más eficiente de resolver un problema en una emergencia, ¿por qué no es la forma más eficiente de resolver un problema en general?
Robert C. Martin

6/7
Editar imagen
Dos cabezas son mejor que una. Pero si emparejarse es la forma más eficiente de resolver un problema en una emergencia, ¿por qué no es la forma más eficiente de resolver un problema en general?
Interpretar citas
Esta cita desafía la reticencia común a involucrarse en la programación en pareja al resaltar su eficiencia durante crisis. Sugiere que la colaboración no debería ser solo una opción de respaldo durante emergencias, sino una práctica regular. Al normalizar la programación en pareja, los equipos pueden fomentar el intercambio de habilidades, un mejor control de calidad y una mayor cohesión del equipo.
Quizás no nos metimos en la programación para trabajar con personas. Qué mala suerte para nosotros.
Robert C. Martin

7/7
Editar imagen
Quizás no nos metimos en la programación para trabajar con personas. Qué mala suerte para nosotros.
Interpretar citas
Esta confesión sincera refleja la naturaleza a menudo introvertida de los programadores, pero también los enfrenta a la realidad de que la programación exitosa implica inherentemente trabajo en equipo y comunicación interpersonal. Sirve como un recordatorio humorístico de que, sin importar las intenciones iniciales, el éxito profesional requiere adaptarse a entornos colaborativos. Reconocer esta necesidad permite a los programadores evolucionar y prosperar en sus roles.
Capítulo 34 | Frases de las páginas 658-663

No existe tal cosa como medio persona.
Robert C. Martin

1/5
Editar imagen
No existe tal cosa como medio persona.
Interpretar citas
Esta cita destaca la ineficiencia y confusión que surgen cuando las personas están demasiado ocupadas con múltiples proyectos. Enfatiza que el verdadero trabajo en equipo no puede existir cuando los miembros solo están parcialmente disponibles, ya que la colaboración genuina y la sinergia son posibles únicamente cuando los individuos están completamente comprometidos. El mensaje aboga por equipos dedicados para asegurar que los proyectos se ejecuten de manera efectiva y cohesiva.
Hay algo verdaderamente mágico en un equipo consolidado.
Robert C. Martin

2/5
Editar imagen
Hay algo verdaderamente mágico en un equipo consolidado.
Interpretar citas
Esta afirmación encapsula el poder transformador de un equipo que funciona bien. Cuando los miembros del equipo desarrollan relaciones sólidas y comprensión, su potencial para colaborar sin problemas conduce a resultados notables. La 'magia' mencionada enfatiza la importancia crítica de la dinámica del equipo y la fuerza derivada de la unidad, que supera con creces la suma de los esfuerzos individuales.
Se necesita tiempo para que un equipo como este resuelva sus diferencias, se acomode entre sí y realmente se consolide.
Robert C. Martin

3/5
Editar imagen
Se necesita tiempo para que un equipo como este resuelva sus diferencias, se acomode entre sí y realmente se consolide.
Interpretar citas
Aquí, el proceso de desarrollo del equipo se reconoce como un viaje gradual en lugar de un evento inmediato. Subraya la idea de que la paciencia y el tiempo son esenciales para construir confianza, comunicación y colaboración entre los miembros del equipo. Esta cita inspira a reconocer el valor de la persistencia y la importancia de fomentar un entorno donde los equipos puedan evolucionar y tener éxito.
El negocio no debería tener las manos atadas por la dificultad artificial de formar y disolver equipos.
Robert C. Martin

4/5
Editar imagen
El negocio no debería tener las manos atadas por la dificultad artificial de formar y disolver equipos.
Interpretar citas
Esta cita aboga por la flexibilidad en la asignación de recursos en los negocios, sugiriendo que estructuras de equipo rígidas pueden obstaculizar la capacidad de respuesta ante prioridades cambiantes. Retrata las ventajas de equipos adaptables que pueden cambiar el enfoque de manera fluida a medida que evolucionan las demandas del proyecto, destacando un enfoque moderno de la gestión de proyectos que valora la agilidad por encima de la estabilidad en la formación de equipos.
El objetivo al formar un equipo es dar a ese equipo suficiente tiempo para consolidarse, y luego mantenerlo unido como un motor para llevar a cabo muchos proyectos.
Robert C. Martin

5/5
Editar imagen
El objetivo al formar un equipo es dar a ese equipo suficiente tiempo para consolidarse, y luego mantenerlo unido como un motor para llevar a cabo muchos proyectos.
Interpretar citas
Esta afirmación enfatiza la importancia estratégica de desarrollar equipos duraderos que puedan mantener su eficacia en múltiples proyectos. Sugiere que invertir tiempo en el desarrollo del equipo es crucial para la productividad y el éxito a largo plazo. Al fomentar la cohesión, las organizaciones pueden aprovechar el poder del esfuerzo colectivo para lograr un éxito continuo en varias iniciativas.
Capítulo 35 | Frases de las páginas 664-677

Me he sentido consistentemente decepcionado por la calidad de los graduados en Ciencias de la Computación.
Robert C. Martin

1/6
Editar imagen
Me he sentido consistentemente decepcionado por la calidad de los graduados en Ciencias de la Computación.
Interpretar citas
Esta cita refleja la desilusión del autor con el sistema educativo en ciencias de la computación, destacando que las instituciones académicas a menudo están desconectadas de las habilidades prácticas necesarias en la industria. La implicación es que la educación formal por sí sola puede no preparar adecuadamente a los graduados para los desafíos del programación práctica, enfatizando la necesidad de aprendizaje informal y autoenseñanza para realmente sobresalir.
Incluso los mejores programas de grado en CS no suelen preparar al joven graduado para lo que encontrará en la industria.
Robert C. Martin

2/6
Editar imagen
Incluso los mejores programas de grado en CS no suelen preparar al joven graduado para lo que encontrará en la industria.
Interpretar citas
Aquí, el autor indica una desconexión entre el conocimiento teórico adquirido en la universidad y las habilidades prácticas demandadas en el lugar de trabajo. Esto sugiere que, además de la calificación académica, el aprendizaje experiencial y la mentoría son críticos para que los nuevos graduados puedan cerrar la brecha entre el aprendizaje y la aplicación en el mundo real.
No lo descubrí todo por mí mismo. Tuve un mentor.
Robert C. Martin

3/6
Editar imagen
No lo descubrí todo por mí mismo. Tuve un mentor.
Interpretar citas
Esta declaración reconoce el valor de la mentoría en el desarrollo del autor como programador. Ilustra la importancia de la orientación y el apoyo de individuos experimentados para navegar conceptos complejos, lo cual puede ser beneficioso tanto para el crecimiento técnico como profesional en el desarrollo de software.
Hubiera sido mucho mejor para mí si hubiera tenido un verdadero mentor, alguien que me enseñara los entresijos.
Robert C. Martin

4/6
Editar imagen
Hubiera sido mucho mejor para mí si hubiera tenido un verdadero mentor, alguien que me enseñara los entresijos.
Interpretar citas
En esta reflexión, el autor expresa un anhelo por la guía de un mentor durante las luchas iniciales de su carrera. Subraya el papel fundamental que un mentor puede desempeñar en la formación de habilidades y valores profesionales, abogando por una mentoría estructurada en el desarrollo de software para mejorar los resultados de aprendizaje.
¿Qué hacen los doctores? ¿Crees que los hospitales contratan graduados de medicina y los lanzan a los quirófanos para hacer cirugías del corazón en su primer día de trabajo?
Robert C. Martin

5/6
Editar imagen
¿Qué hacen los doctores? ¿Crees que los hospitales contratan graduados de medicina y los lanzan a los quirófanos para hacer cirugías del corazón en su primer día de trabajo?
Interpretar citas
Esta analogía ilustra la rigurosa formación y mentorización por la que pasan los profesionales médicos antes de que se les permita practicar de manera independiente. Dibuja un fuerte contraste con la industria del software, sugiriendo que programas de formación integral similares son necesarios para los desarrolladores de software para garantizar competencia y fiabilidad en su trabajo.
La artesanía es un meme que contiene valores, disciplinas, técnicas, actitudes y respuestas.
Robert C. Martin

6/6
Editar imagen
La artesanía es un meme que contiene valores, disciplinas, técnicas, actitudes y respuestas.
Interpretar citas
Esta cita encapsula la esencia de la artesanía, enfatizando que es más que una habilidad técnica; encarna una mentalidad y cultura que deben ser cultivadas. El autor propone que la artesanía en el desarrollo de software se propaga a través de la observación y la mentoría, subrayando la importancia de los valores compartidos y el aprendizaje comunitario en el fomento del crecimiento profesional.
Capítulo 36 | Frases de las páginas 678-695

Hoy en día, los desarrolladores de software tienen una amplia variedad de herramientas para elegir. La mayoría no merecen la pena, pero hay algunas con las que todo desarrollador de software debe estar familiarizado.
Robert C. Martin

1/10
Editar imagen
Hoy en día, los desarrolladores de software tienen una amplia variedad de herramientas para elegir. La mayoría no merecen la pena, pero hay algunas con las que todo desarrollador de software debe estar familiarizado.
Interpretar citas
Esta afirmación enfatiza la importancia de seleccionar las herramientas adecuadas en el desarrollo de software. Destaca una realidad en el panorama tecnológico donde existen muchas herramientas, pero solo unas pocas ofrecen un valor real a los desarrolladores. En consecuencia, los desarrolladores deben ser selectivos y conocedores sobre qué herramientas adoptar para trabajar de manera efectiva y eficiente.
Si hay nuevos pines en el tablero, quitaríamos nuestros pines y entregaríamos nuestra cinta de trabajo a la persona cuyos pines aún estaban en el tablero. Tendrían que hacer la fusión.
Robert C. Martin

2/10
Editar imagen
Si hay nuevos pines en el tablero, quitaríamos nuestros pines y entregaríamos nuestra cinta de trabajo a la persona cuyos pines aún estaban en el tablero. Tendrían que hacer la fusión.
Interpretar citas
Esto ilustra la colaboración y la responsabilidad dentro de un entorno de equipo. En el desarrollo de software, es crucial comunicar cambios y asumir la responsabilidad de las contribuciones individuales, asegurando que el nuevo código se integre sin conflictos. Este enfoque fomenta un ambiente donde la colaboración es valorada y la organización es clave para manejar la complejidad del proyecto.
Bajo ninguna circunstancia se debe permitir que la falla persista por un día o más.
Robert C. Martin

3/10
Editar imagen
Bajo ninguna circunstancia se debe permitir que la falla persista por un día o más.
Interpretar citas
Esto resalta la urgencia de abordar problemas en el desarrollo de software, particularmente en el contexto de la integración continua. Subraya la necesidad de que los equipos mantengan alta calidad y confiabilidad al resolver de inmediato las fallas de construcción. Esta práctica establece una cultura de responsabilidad y capacidad de respuesta que puede mejorar significativamente la productividad general.
El punto es que debes ser capaz de verificar que todas las pruebas pasaron rápida y claramente.
Robert C. Martin

4/10
Editar imagen
El punto es que debes ser capaz de verificar que todas las pruebas pasaron rápida y claramente.
Interpretar citas
Esta cita enfatiza la importancia de mecanismos de retroalimentación eficientes en las prácticas de prueba. La visualización rápida y clara de los resultados de las pruebas es vital para que los desarrolladores mantengan el enfoque y puedan identificar rápidamente los problemas. Sugiere que las herramientas efectivas deberían capacitar a los desarrolladores para entender inmediatamente los resultados de las pruebas, facilitando así un proceso de desarrollo más fluido.
El problema son los detalles. Los programadores son administradores de detalles. Eso es lo que hacemos.
Robert C. Martin

5/10
Editar imagen
El problema son los detalles. Los programadores son administradores de detalles. Eso es lo que hacemos.
Interpretar citas
Esta declaración encapsula la esencia del desarrollo de software: gestionar detalles intrincados es su núcleo. La programación exitosa requiere una atención meticulosa a cada aspecto del código y del comportamiento del sistema. Al reconocer esto, los desarrolladores pueden apreciar su papel no solo en la escritura de código, sino en la arquitectura de soluciones que manejan eficazmente las complejidades.
La curva de aprendizaje es alta y el tiempo de configuración del proyecto no es insignificante. Estas herramientas no son ligeras.
Robert C. Martin

6/10
Editar imagen
La curva de aprendizaje es alta y el tiempo de configuración del proyecto no es insignificante. Estas herramientas no son ligeras.
Interpretar citas
Esto resalta las compensaciones inherentes a la adopción de herramientas poderosas para el desarrollo de software. Aunque los IDE avanzados y los sistemas ofrecen beneficios significativos, a menudo requieren una inversión sustancial de tiempo para la integración y configuración. Esta realización promueve una consideración equilibrada de la velocidad y la capacidad al elegir herramientas de desarrollo.
Puede que tu empresa haya invertido una pequeña fortuna en un sistema de control de código fuente 'empresarial'. Si es así, mis condolencias.
Robert C. Martin

7/10
Editar imagen
Puede que tu empresa haya invertido una pequeña fortuna en un sistema de control de código fuente 'empresarial'. Si es así, mis condolencias.
Interpretar citas
Este comentario humorístico pero puntual critica la tendencia de las empresas a invertir mucho en sistemas que pueden no alinearse con las necesidades prácticas de los desarrolladores. Sugiere una desconexión entre las decisiones gerenciales y los requisitos del mundo real de las tareas de programación, abogando por un enfoque más centrado en el desarrollador en la selección de herramientas.
Las herramientas examinan los dos archivos diferentes y el ancestro de esos dos archivos, y luego aplican múltiples estrategias para determinar cómo integrar los cambios concurrentes.
Robert C. Martin

8/10
Editar imagen
Las herramientas examinan los dos archivos diferentes y el ancestro de esos dos archivos, y luego aplican múltiples estrategias para determinar cómo integrar los cambios concurrentes.
Interpretar citas
Esto ilustra la sofisticación de los modernos sistemas de control de versiones en el manejo del desarrollo concurrente. Transmite el mensaje de que los avances en tecnología han permitido una fusión de código más eficiente e inteligente, mejorando drásticamente la colaboración entre desarrolladores. La evolución refleja un cambio hacia una mayor flexibilidad y facilidad en la gestión de bases de código complejas.
Puedes saber si estás listo para registrar el código en función de si todas las pruebas automatizadas pasan.
Robert C. Martin

9/10
Editar imagen
Puedes saber si estás listo para registrar el código en función de si todas las pruebas automatizadas pasan.
Interpretar citas
Esto resalta el papel crítico de las pruebas automatizadas en asegurar la calidad del código. Sintetiza la idea de que las pruebas automatizadas sirven como los guardianes de la integración, donde cada cambio de código debe soportar una validación rigurosa. Esta práctica fomenta una disciplina de aseguramiento de calidad, reforzando la importancia de las pruebas en el ciclo de vida del desarrollo de software.
Al final, todo se trata de detalles, y son los programadores quienes gestionan esos detalles.
Robert C. Martin

10/10
Editar imagen
Al final, todo se trata de detalles, y son los programadores quienes gestionan esos detalles.
Interpretar citas
Este pensamiento final refuerza el tema central del texto: la naturaleza intrincada de la programación y el papel esencial de los desarrolladores en navegar por las complejidades. Reconocer que el verdadero desafío radica en los detalles empodera a los programadores para abrazar su experiencia y valor como solucionadores de problemas críticos en los avances tecnológicos.
Capítulo 37 | Frases de las páginas -703

La disciplina de la programación implica un compromiso con la calidad, la claridad y la simplicidad. Abraza el arte de la artesanía, ya que un gran código nace de una dedicación apasionada.
Robert C. Martin

1/5
Editar imagen
La disciplina de la programación implica un compromiso con la calidad, la claridad y la simplicidad. Abraza el arte de la artesanía, ya que un gran código nace de una dedicación apasionada.
Interpretar citas
Esta cita enfatiza la importancia de la disciplina y el profesionalismo en la programación. Sugiere que para producir código de alta calidad, uno debe estar comprometido no solo con los aspectos técnicos de la programación, sino también con los principios de simplicidad y claridad. Abrazar la artesanía significa sentir orgullo por el propio trabajo, lo que lleva a mejores resultados y fomenta una cultura de excelencia.
La ética laboral es más que solo hacer tu trabajo; es un compromiso con la mejora continua y con quienes te rodean.
Robert C. Martin

2/5
Editar imagen
La ética laboral es más que solo hacer tu trabajo; es un compromiso con la mejora continua y con quienes te rodean.
Interpretar citas
Esta cita habla sobre la esencia de una ética laboral sólida, destacando que va más allá de cumplir con las obligaciones. Encierra el espíritu de aprender y mejorar las habilidades mientras se considera también el impacto en los colegas y el equipo. Un enfoque en la mejora continua no solo beneficia al individuo, sino que también contribuye a un ambiente de trabajo colaborativo y productivo.
La comunicación es clave. Sin ella, el proceso de desarrollo puede degenerar en caos, y los malentendidos pueden llevar al fracaso.
Robert C. Martin

3/5
Editar imagen
La comunicación es clave. Sin ella, el proceso de desarrollo puede degenerar en caos, y los malentendidos pueden llevar al fracaso.
Interpretar citas
Aquí, la cita subraya el papel crítico de la comunicación en el desarrollo de software. Advierte sobre los peligros de una mala comunicación, que puede crear confusión y afectar negativamente los resultados del proyecto. Priorizando una comunicación clara y abierta, los equipos pueden trabajar de manera más efectiva y alinear sus esfuerzos hacia metas comunes.
Abraza la valentía en tu trabajo, especialmente cuando se trata de desafiar ideas y prácticas existentes. La innovación surge de cuestionar el status quo.
Robert C. Martin

4/5
Editar imagen
Abraza la valentía en tu trabajo, especialmente cuando se trata de desafiar ideas y prácticas existentes. La innovación surge de cuestionar el status quo.
Interpretar citas
Esta cita anima a los desarrolladores a adoptar una actitud valiente hacia su trabajo, especialmente en innovaciones y mejoras. Al estar dispuestos a desafiar las normas establecidas, los individuos pueden contribuir a soluciones creativas que impulsen el progreso. Esta mentalidad es esencial para fomentar un ambiente donde la innovación prospere y donde la evolución continua sea la norma.
Un gran software se construye de manera colaborativa. La dinámica del equipo fomenta la creatividad, la visión y la responsabilidad compartida.
Robert C. Martin

5/5
Editar imagen
Un gran software se construye de manera colaborativa. La dinámica del equipo fomenta la creatividad, la visión y la responsabilidad compartida.
Interpretar citas
La esencia de esta cita radica en la naturaleza colaborativa del desarrollo exitoso de software. Enfatiza que grandes resultados surgen del trabajo en equipo, donde diversas perspectivas pueden unirse para mejorar la creatividad y la resolución de problemas. La responsabilidad compartida no solo mejora la calidad del software, sino que también construye un sentido de pertenencia y pertenencia entre los miembros del equipo.
Interfaz de la aplicación