Capítulo 18. Sistemas de construcción y filosofía de construcción

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

Si preguntas a los ingenieros de Google qué es lo que más les gusta de trabajar en Google (además de la comida gratis y los productos geniales), puede que oigas algo sorprendente: a los ingenieros les encanta el sistema de compilación.1 Google ha invertido una enorme cantidad de esfuerzo de ingeniería a lo largo de su vida en crear su propio sistema de construcción desde cero, con el objetivo de garantizar que nuestros ingenieros puedan construir código de forma rápida y fiable. El esfuerzo ha tenido tanto éxito que Blaze, el componente principal del sistema de compilación, ha sido reimplementado varias veces por ex-Googlers que han dejado la empresa.2 En 2015, Google finalmente abrió una implementación de Blaze llamada Bazel.

Finalidad de un sistema de construcción

Fundamentalmente, todos los sistemas de compilación tienen un propósito sencillo: transforman el código fuente escrito por ingenieros en binarios ejecutables que pueden leer las máquinas. Por lo general, un buen sistema de compilación intentará optimizar dos propiedades importantes:

Rápido
Un desarrollador debe poder escribir un único comando para ejecutar la compilación y obtener el binario resultante, a menudo en tan sólo unos segundos.
Correcto
Cada vez que cualquier desarrollador ejecute ...

Get Ingeniería de software en Google 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.