Errores y compensaciones de software: Cómo tomar buenas decisiones de programación

Puntuación:   (4,3 de 5)

Errores y compensaciones de software: Cómo tomar buenas decisiones de programación (Tomasz Lelek)

Opiniones de los lectores

Resumen:

El libro ofrece un análisis detallado de la toma de decisiones en ingeniería de software, haciendo hincapié en la importancia de comprender las alternativas y las implicaciones en el mundo real de las decisiones de diseño. Aunque ofrece valiosas perspectivas y fomenta un enfoque pragmático, ha recibido críticas mixtas en cuanto a su calidad de redacción y relevancia para diferentes niveles de experiencia.

Ventajas:

Ofrece valiosas perspectivas sobre las compensaciones y los escenarios realistas en la ingeniería de software.
Fomenta el pensamiento crítico sobre cuándo romper las reglas convencionales, como el uso aceptable de la duplicación de código.
Contiene ejemplos prácticos aplicables a situaciones del mundo real.
Aborda una serie de temas relevantes para ingenieros de software de distintos niveles.
Promueve una comprensión equilibrada de las mejores prácticas frente a la implementación real.

Desventajas:

Algunos capítulos se centran demasiado en temas triviales específicos de Java, que pueden no resultar atractivos para desarrolladores experimentados.
La calidad de la escritura varía, con algunas secciones innecesariamente verbales o simplistas.
Falta una exploración en profundidad de escenarios complejos del mundo real y referencias de lecturas adicionales.
Algunos ejemplos pueden parecer demasiado artificiosos u obvios, lo que limita su aplicabilidad práctica.

(basado en 5 opiniones de lectores)

Título original:

Software Mistakes and Tradeoffs: How to Make Good Programming Decisions

Contenido del libro:

Optimice las decisiones que definen su código explorando los errores comunes y las compensaciones intencionadas que realizan los desarrolladores expertos.

En Software Mistakes and Tradeoffs aprenderá a:

Razonar sobre sus sistemas para tomar decisiones de diseño intuitivas y mejores.

Comprender las consecuencias y cómo equilibrar las compensaciones.

Elegir la biblioteca adecuada para su problema.

Analizar a fondo todas las dependencias de su servicio.

Comprender la semántica de entrega y cómo influye en la arquitectura distribuida.

Diseñe y ejecute pruebas de rendimiento para detectar las rutas críticas del código y validar el SLA de un sistema.

Detectar y optimizar las rutas conflictivas del código para centrar los esfuerzos de optimización en las causas fundamentales.

Decidir sobre un modelo de datos adecuado para el manejo de fecha/hora para evitar errores comunes (pero sutiles).

Razonar sobre la compatibilidad y el versionado para evitar problemas inesperados a los clientes de la API.

Comprender el acoplamiento estrecho/flojo y cómo influye en la coordinación del trabajo entre equipos.

Aclare los requisitos hasta que sean precisos, fáciles de implementar y de probar.

Optimice sus API para que la experiencia del usuario sea agradable.

Rendimiento del código frente a simplicidad. Velocidad de entrega frente a duplicación. Flexibilidad frente a capacidad de mantenimiento: todas las decisiones que se toman en ingeniería de software implican un equilibrio de compensaciones. En Software Mistakes and Tradeoffs aprenderá de los costosos errores que Tomasz Lelek y Jon Skeet han encontrado a lo largo de sus impresionantes carreras. Explorará situaciones del mundo real en las que una mala comprensión de las ventajas y desventajas condujo a graves problemas en el futuro, para que pueda evitar sus propios errores con un enfoque más reflexivo en la toma de decisiones.

Aprenda cómo la duplicación de código afecta al acoplamiento y a la velocidad de evolución de sus sistemas, y cómo unos requisitos aparentemente sencillos pueden tener matices ocultos con respecto a la información de fecha y hora. Descubra cómo reducir eficazmente el alcance de su optimización de acuerdo con los principios de Pareto 80/20 y garantizar la coherencia de sus sistemas distribuidos. Pronto habrá acumulado el tipo de base de conocimientos que sólo se consigue con años de experiencia.

La compra del libro impreso incluye un libro electrónico gratuito en formatos PDF, Kindle y ePub de Manning Publications.

Acerca de la tecnología.

Cada paso de un proyecto de software implica hacer concesiones. Cuando se trata de equilibrar velocidad, seguridad, coste, plazo de entrega, funciones, etc., las decisiones de diseño razonables pueden resultar problemáticas en la producción. Los puntos de vista de los expertos y las historias reales de este libro le ayudarán a tomar decisiones acertadas a la hora de diseñar y crear aplicaciones.

Acerca del libro.

Software Mistakes and Tradeoffs explora situaciones del mundo real en las que se tomaron decisiones equivocadas y explica qué se podría haber hecho de otra manera. En él, los autores Tomasz Lelek y Jon Skeet comparten su sabiduría basada en décadas de experiencia en ingeniería de software, incluidos algunos errores deliciosamente instructivos. Apreciará los consejos específicos y las técnicas prácticas que acompañan a cada ejemplo, junto con los patrones de siempre que cambiarán su forma de abordar sus próximos proyectos.

Contenido.

Cómo razonar sobre el software de forma sistemática.

Cómo elegir herramientas, bibliotecas y marcos de trabajo.

Cómo afectan el acoplamiento estrecho y el holgado a la coordinación del equipo.

Requisitos precisos, fáciles de implementar y de probar.

Acerca del lector.

Para desarrolladores y arquitectos de nivel medio y superior que toman decisiones sobre el diseño y la implementación del software.

Sobre el autor.

Tomasz Lelek trabaja a diario con una amplia gama de servicios de producción, arquitecturas y lenguajes JVM. Ingeniero de Google y autor de C# in Depth, Jon Skeet es famoso por sus numerosas contribuciones prácticas a Stack Overflow.

Tabla de contenidos.

1 Introducción.

2 La duplicación de código no siempre es mala: Duplicación de código vs. flexibilidad.

3 Excepciones vs. otros patrones de manejo de errores en tu código.

4 Equilibrio entre flexibilidad y complejidad.

5 Optimización prematura vs. optimización de la ruta caliente: Decisiones que afectan al rendimiento del código.

6 Simplicidad frente a coste de mantenimiento de su API.

7 Trabajar eficazmente con datos de fecha y hora.

8 Aprovechar la localidad de los datos y la memoria de sus máquinas.

9 Bibliotecas de terceros: Las bibliotecas que utilizas se convierten en tu código.

10 Consistencia y atomicidad en sistemas distribuidos.

11 Semántica de entrega en sistemas distribuidos.

12 Gestión de versiones y compatibilidad.

13 Mantenerse al día con las tendencias frente al coste de mantenimiento de su código.

Otros datos del libro:

ISBN:9781617299209
Autor:
Editorial:
Idioma:inglés
Encuadernación:Tapa blanda
Año de publicación:2022
Número de páginas:300

Compra:

Actualmente disponible, en stock.

¡Lo compro!

Otros libros del autor:

Errores y compensaciones de software: Cómo tomar buenas decisiones de programación - Software...
Optimice las decisiones que definen su código...
Errores y compensaciones de software: Cómo tomar buenas decisiones de programación - Software Mistakes and Tradeoffs: How to Make Good Programming Decisions

Las obras del autor han sido publicadas por las siguientes editoriales:

© Book1 Group - todos los derechos reservados.
El contenido de este sitio no se puede copiar o usar, ni en parte ni en su totalidad, sin el permiso escrito del propietario.
Última modificación: 2024.11.14 07:32 (GMT)