1 puntos por GN⁺ 2024-06-29 | 1 comentarios | Compartir por WhatsApp
  • ¿Qué fue lo que la hizo tan buena?
    • ¿Había alguien que hacía cumplir las buenas prácticas?
    • ¿Formabas parte de un gran grupo de ingenieros?
    • ¿O fue alguna otra cosa?

Opinión de GN⁺

  • Este artículo plantea una pregunta interesante sobre cómo se mantienen las buenas prácticas en entornos de desarrollo de software
  • Puede ayudar a entender la diferencia entre imponer buenas prácticas y trabajar en un entorno autónomo
  • Otros proyectos con funciones similares incluyen el sistema de Code Review de Google o el sistema de Pull Request de GitHub
  • Al adoptar nuevas tecnologías u open source, hay que considerar cómo pueden integrarse con la cultura del equipo y los procesos existentes
  • Mantener buenas prácticas es un factor importante para aumentar la productividad del equipo y la calidad del código

1 comentarios

 
GN⁺ 2024-06-29
Comentario en Hacker News
  • El monorepo de Google era excelente en términos de herramientas

    • Se podían generar snapshots de toda la base de código en segundos
    • Los builds eran perfectamente reproducibles y se ejecutaban en un clúster de compilación
    • El lenguaje de configuración de builds era muy simple y conciso
    • La búsqueda de código era instantánea
    • El historial de archivos cargaba al instante
    • El blame por línea cargaba en segundos
    • Había búsqueda de símbolos instantánea en casi cualquier archivo
    • Se imponía un estilo consistente mediante cultura compartida, linters automáticos y verificaciones previas al envío
    • Había atajos para hacer deep links a archivo/versión/línea, lo que facilitaba compartir código
    • Muchas verificaciones previas al envío garantizaban la calidad del código y de las pruebas
    • El code review y el emparejamiento con pruebas al hacer cambios de código eran obligatorios
  • El código de servidor de AOL era excelente

    • Fue escrito por personas con una comprensión profunda de la programación Unix y del uso de event loops
    • Estaba escrito en C y se esperaba que corriera durante meses sin caerse
    • Si terminaba de forma anormal, enviaba por email un core backtrace al responsable
    • Si había una fuga de memoria, el equipo de operaciones reaccionaba de inmediato
    • Todo podía recargarse en servidores en ejecución sin reiniciar
    • Los servidores se administraban usando un puerto de control TCP y un intérprete TCL
    • Escalaba de decenas a cientos de máquinas físicas con "No Threads Kernel"
    • 200 desarrolladores Unix compartían un entendimiento común
    • Redactores técnicos entrevistaban a los desarrolladores para escribir libros que pudieran transmitirse a desarrolladores externos
    • Se seguía el principio de intercambiar mensajes de red sin escribir en disco
  • La base de código de un trabajo anterior era excelente

    • Los ingenieros tenían habilidades sobresalientes y no tenían ego
    • El equipo estaba formado por 4 seniors y 3 principal engineers
    • Cada vez que surgía un nuevo requisito, se discutía de manera civilizada
    • Incluso los miembros junior podían seguir fácilmente el código existente
  • La base de código de Postgres está muy bien organizada

    • No hay que preocuparse por la seguridad de memoria
    • Usa macros con cuidado y respeta a los humanos
    • La base de código de Postgres se considera el estándar de oro del desarrollo
    • Agradecen al equipo de pgrx
  • El framework de pruebas de integración de un gran servicio en Python era excelente

    • Estaba construido sobre un framework de pruebas de integración ya existente
    • Definía significados claros para los componentes de prueba
    • Construía los componentes de prueba como un conjunto inicial
    • Mediante code review se aseguraba que los nuevos componentes siguieran esos significados
    • A largo plazo, no funcionó tan bien
  • La base de código Google3 es enorme y funciona muy bien

    • Vuelve a ejecutar las dependencias cada vez que se hace un cambio
    • Los commits son snapshots inmutables eficientes
    • Es muy superior a GitHub
  • La mejor base de código fue la que escribí yo mismo

  • La base de código de Cocotron era muy impresionante

    • Estaban buscando cómo portar apps Mac Cocoa a Windows
    • Una sola persona implementó todas las API esenciales
    • Se usó con éxito en apps GUI complejas y personalizadas
    • La concentración es importante
  • La base de código de Facebook permite actualizaciones continuas del código

    • Se dedicó mucho esfuerzo al diseño del lenguaje y a las herramientas
    • El código existente se actualiza continuamente
    • En otras bases de código de empresas, era difícil hacer la transición después de una gran reescritura
  • La API HTTP de CouchDB estaba toda en un solo archivo

    • Fue un buen punto de partida para aprender bases de datos y programación web
    • Más adelante el equipo la refactorizó
    • Fue interesante ver el proceso de pasar de la inspiración al uso real