- 2007, 2000 líneas de código
(folklore.org)The Original Macintosh: 36 of 123 - 2000 Lines Of Code
-
A comienzos de 1982, el equipo de software de Lisa estaba concentrado en el esfuerzo final para lanzar el software dentro de los siguientes seis meses.
-
Algunos de los gerentes pensaron que sería una buena idea llevar un registro semanal de la cantidad de código que escribía cada ingeniero, así que crearon un formulario que debía entregarse cada viernes, e incluía un campo para anotar la cantidad de líneas de código escritas esa semana.
-
Bill Atkinson, autor de Quickdraw y principal diseñador de la interfaz de usuario, pensaba que contar líneas de código era una forma absurda de medir la productividad del software, y que solo fomentaba escribir código desordenado, inflado y con errores.
-
Atkinson había estado trabajando recientemente en optimizar el motor de cálculo de regiones de Quickdraw, y reescribió por completo el motor de regiones usando un algoritmo más simple y general, que después de algunos ajustes hizo que las operaciones con regiones fueran casi 6 veces más rápidas.
-
Esa reescritura también tuvo como resultado colateral ahorrar unas 2000 líneas de código.
-
En la etapa final de ese trabajo de optimización, llegó el momento de llenar por primera vez el formulario de gestión y, cuando llegó a la parte de líneas de código, pensó un momento y escribió el número -2000.
-
No está claro cómo reaccionaron los gerentes, pero unas semanas después dejaron de pedirle a Atkinson que llenara el formulario, y él aceptó eso con gusto.
Opinión de GN⁺
- Este artículo deja una lección importante: en el desarrollo de software, la cantidad de código no representa la verdadera productividad. Medir el desempeño por líneas de código no solo es ineficiente, sino que a veces puede resultar contraproducente.
- El ejemplo de Bill Atkinson resalta la importancia de la optimización de software. Lograr un rendimiento más rápido con menos código es uno de los principios centrales de la ingeniería de software.
- Esta historia ayuda a entender por qué son importantes las prácticas modernas de desarrollo, especialmente enfoques como las metodologías ágiles y la integración/entrega continua (CI/CD). Estos enfoques ponen más valor en la calidad, la mantenibilidad y la experiencia del usuario que en la cantidad de código.
- En la industria se usan diversas herramientas y métricas para medir y mejorar la calidad del código. Por ejemplo, herramientas de análisis estático, procesos de revisión de código y seguimiento de cobertura de pruebas.
- Este artículo les recuerda a los desarrolladores lo importante que es enfocarse en la calidad por encima de la cantidad de código, evitar la complejidad innecesaria y optimizar el rendimiento.
1 comentarios
Opiniones de Hacker News
Choque sobre el conteo de líneas de código entre Microsoft e IBM
Enlaces a debates anteriores
Usar las líneas de código como métrica de producción es muy tonto
order by, y se plantea la duda de cómo podría medirse el impacto de una sola línea. También se comparte la experiencia de que los malos programadores escriben más código, y se presenta un caso en el que un desarrollador de Microsoft reescribió 33,000 caracteres de código de IBM en 220 caracteres. Como resultado, el trabajo de Microsoft terminó siendo evaluado como "negativo".Las preguntas simples a veces tienen el mayor impacto
Experiencia compartida de optimización de código al inicio de la carrera
Falta de una dirección clara al iniciar un proyecto
Experimento mental sobre usar la eliminación de código como métrica
Atkinson Dither de Bill Atkinson
Percepción sobre las líneas de código
El papel como empleado