Prefacio

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

El código está en todas partes, desde el desarrollo web a los contratos inteligentes, los sistemas integrados, las cadenas de bloques, el sistema de software de a bordo de James Webb, los robots quirúrgicos y muchos otros ámbitos. El software se está apoderando efectivamente del mundo, y actualmente asistimos al auge de las herramientas profesionales de generación de código de inteligencia artificial. Eso significa que el código limpio es más importante que nunca. Mientras sigues trabajando en bases de código propietario o de código abierto cada vez más grandes, el código limpio es la forma de mantenerlo fresco y listo para evolucionar.

A quién va dirigido este libro

Este libro te ayuda a identificar los problemas más comunes en una base de código y pone de relieve las consecuencias de estos problemas, y en última instancia te ayuda a evitarlos con recetas fáciles de seguir. Es un valioso recurso que puede ayudar enormemente a programadores, revisores de código, arquitectos y estudiantes a mejorar sus habilidades con el código y los sistemas existentes.

Cómo está organizado este libro

Este libro consta de 25 capítulos. Cada capítulo comienza con algunos principios y fundamentos que muestran las ventajas del código limpio, sus consecuencias y sus inconvenientes cuando se aplica incorrectamente. El primer capítulo habla de la única regla rectora del código limpio: mapea las entidades del mundo real 1:1 con tu diseño. Esta regla sirve de base de la que pueden derivarse todos los demás principios.

Dentro de cada capítulo, encontrarás varias recetas organizadas temáticamente con herramientas y consejos para cambiar tu código. El propósito de cada receta es ayudarte a realizar cambios positivos y mejoras en tu situación actual. Junto con las recetas y los ejemplos, también se te presentarán varios principios, heurísticos y reglas de diseño de software. Las recetas tienen ejemplos de código en varios lenguajes de programación, ya que el código limpio no es una propiedad de uno solo de ellos. Muchos libros de refactorización se basan en un único lenguaje y los autores actualizan las nuevas ediciones utilizando el lenguaje de programación de moda. Este libro es agnóstico en cuanto a lenguajes de programación, y la mayoría de las recetas se aplican a muchos lenguajes (excepto cuando se indica lo contrario).

Debes leer el código como pseudocódigo, aunque la mayor parte se ejecute tal cual. Cuando tengo que decidir entre legibilidad y rendimiento, siempre elijo la legibilidad. Proporciono definiciones de terminología común a lo largo del libro, pero también puedes encontrarlas todas en el Glosario de Términos del libro.

Qué necesitas para utilizar este libro

Para ejecutar los ejemplos de código, necesitarás un entorno de trabajo como las cajas de arena de O'Reilly o Replit. Te animo a que traduzcas los ejemplos de código a tu lenguaje de programación favorito. Hoy en día puedes hacerlo gratis con generadores de código de inteligencia artificial. He utilizado herramientas como GitHub Copilot, OpenAI Codex, Bard, ChatGPT y muchas más para ayudarme a escribir los ejemplos de código de este libro. Utilizar estas herramientas me ha permitido usar más de 25 lenguajes diferentes en este libro, aunque no sea un experto en muchos de ellos.

Accede a este libro en formato digital

Este Libro de cocina de código limpio ofrece acceso gratuito a una edición en línea, siempre disponible y en la que se pueden realizar búsquedas, en https://cleancodecookbook.com.

Convenciones utilizadas en este libro

En este libro se utilizan las siguientes convenciones tipográficas:

Cursiva

Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.

Constant width

Se utiliza en los listados de programas, así como dentro de los párrafos para referirse a elementos del programa como nombres de variables o funciones, bases de datos, tipos de datos, variables de entorno, sentencias y palabras clave.

Constant width bold

Muestra comandos u otros textos que deben ser tecleados literalmente por el usuario.

Constant width italic

Muestra el texto que debe sustituirse por valores proporcionados por el usuario o por valores determinados por el contexto.

Consejo

Este elemento significa un consejo o sugerencia.

Nota

Este elemento significa una nota general.

Advertencia

Este elemento indica una advertencia o precaución.

Utilizar ejemplos de código

El material complementario (ejemplos de código, ejercicios, etc.) se puede descargar en https://github.com/mcsee/clean-code-cookbook.

Si tienes una pregunta técnica o un problema al utilizar los ejemplos de código, envía un correo electrónico a bookquestions@oreilly.com.

Este libro está aquí para ayudarte a hacer tu trabajo. En general, si se ofrece código de ejemplo con este libro, puedes utilizarlo en tus programas y documentación. No es necesario que te pongas en contacto con nosotros para pedirnos permiso, a menos que estés reproduciendo una parte importante del código. Por ejemplo, escribir un programa que utilice varios trozos de código de este libro no requiere permiso. Vender o distribuir ejemplos de los libros de O'Reilly sí requiere permiso. Responder a una pregunta citando este libro y el código de ejemplo no requiere permiso. Incorporar una cantidad significativa de código de ejemplo de este libro en la documentación de tu producto sí requiere permiso.

Agradecemos la atribución, pero en general no la exigimos. Una atribución suele incluir el título, el autor, la editorial y el ISBN. Por ejemplo "Clean Code Cookbook por Maximiliano Contieri (O'Reilly). Copyright 2023 Maximiliano Contieri".

Si crees que el uso que haces de los ejemplos de código no se ajusta al uso legítimo o al permiso concedido anteriormente, no dudes en ponerte en contacto con nosotros en permissions@oreilly.com.

Aprendizaje en línea O'Reilly

Nota

Durante más de 40 años, O'Reilly Media ha proporcionado formación tecnológica y empresarial, conocimientos y perspectivas para ayudar a las empresas a alcanzar el éxito.

Nuestra red única de expertos e innovadores comparten sus conocimientos y experiencia a través de libros, artículos y nuestra plataforma de aprendizaje online. La plataforma de aprendizaje en línea de O'Reilly te ofrece acceso bajo demanda a cursos de formación en directo, rutas de aprendizaje en profundidad, entornos de codificación interactivos y una amplia colección de textos y vídeos de O'Reilly y de más de 200 editoriales. Para más información, visita https://oreilly.com.

Cómo contactar con nosotros

Dirige tus comentarios y preguntas sobre este libro a la editorial:

Tenemos una página web para este libro, donde se enumeran erratas, ejemplos y cualquier información adicional. Puedes acceder a esta página en https://oreil.ly/clean-code-cookbook.

Para obtener noticias e información sobre nuestros libros y cursos, visita https://oreilly.com.

Encuéntranos en LinkedIn: https://linkedin.com/company/oreilly-media

Síguenos en Twitter: https://twitter.com/oreillymedia

Míranos en YouTube: https://youtube.com/oreillymedia

Agradecimientos

Este libro está dedicado a mi mujer, María Virginia, que siempre me ha querido y apoyado, y a mis queridas hijas, Malena y Miranda, y a mis padres, Juan Carlos y Alicia.

Tengo una gran deuda de gratitud con Máximo Prieto y Hernán Wilkinson por sus valiosas ideas y conocimientos, que han contribuido en gran medida a las ideas presentadas en este libro. También estoy agradecido a mis colegas de Ingeniería de Software por compartir sus ideas y a mis compañeros profesores de Ciencias Exactas de la Universidad de Buenos Aires por compartir sus conocimientos y experiencia a lo largo de los años.

Por último, me gustaría expresar mi gratitud a los revisores técnicos Luben Alexandrov, Daniel Moka y Carlos E. Ferro y a mi editora Sara Hunter, cuya orientación y consejos han mejorado enormemente este libro.

Get Libro de cocina de código limpio now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.