- 2007, 2000 linhas de código
(folklore.org)The Original Macintosh: 36 of 123 - 2000 Lines Of Code
-
No início de 1982, a equipe de software do Lisa estava concentrada no esforço final para lançar o software nos seis meses seguintes.
-
Alguns gerentes acharam que seria uma boa ideia acompanhar semanalmente a quantidade de código escrita por cada engenheiro e criaram um formulário que precisava ser entregue toda sexta-feira, incluindo um campo para registrar o número de linhas de código escritas naquela semana.
-
Bill Atkinson, autor do Quickdraw e principal designer da interface de usuário, achava que contar linhas de código era uma forma idiota de medir a produtividade em software, e via isso apenas como um incentivo para escrever código bagunçado, inflado e cheio de erros.
-
Atkinson vinha trabalhando recentemente na otimização do mecanismo de cálculo de regiões do Quickdraw e reescreveu completamente o motor de regiões usando um algoritmo mais simples e geral, que, depois de alguns ajustes, tornou as operações de região quase 6 vezes mais rápidas.
-
Como efeito colateral, essa reescrita acabou economizando cerca de 2000 linhas de código.
-
Na etapa final da otimização, chegou a hora de preencher o formulário gerencial pela primeira vez e, ao chegar à parte do número de linhas de código, ele pensou por um instante e escreveu o número -2000.
-
Não se sabe ao certo como os gerentes reagiram, mas algumas semanas depois eles pararam de exigir que Atkinson preenchesse o formulário, e ele aceitou isso de bom grado.
Opinião do GN⁺
- Este artigo traz uma lição importante: a quantidade de código não representa a produtividade real no desenvolvimento de software. Medir desempenho com base no número de linhas de código não só é ineficiente, como às vezes pode até ser contraproducente.
- O exemplo de Bill Atkinson destaca a importância da otimização de software. Alcançar desempenho mais rápido com menos código é um dos princípios centrais da engenharia de software.
- Essa história ajuda a entender por que práticas modernas de desenvolvimento, especialmente abordagens como metodologias ágeis e integração/entrega contínua (CI/CD), são importantes. Elas valorizam mais a qualidade, a manutenibilidade e a experiência do usuário do que a quantidade de código.
- No setor, diversos instrumentos e métricas são usados para medir e melhorar a qualidade do código. Por exemplo, ferramentas de análise estática de código, processos de code review e acompanhamento de cobertura de testes.
- O artigo relembra aos desenvolvedores como é importante focar na qualidade em vez da quantidade de código, evitar complexidade desnecessária e otimizar o desempenho.
1 comentários
Opiniões do Hacker News
Conflito sobre linhas de código entre Microsoft e IBM
Links para discussões anteriores
Usar linhas de código como métrica de produção é extremamente tolo
order by, levantando a questão de como medir o impacto de uma única linha de código. Compartilha a experiência de que programadores ruins escrevem mais código e apresenta o caso em que um desenvolvedor da Microsoft reescreveu 33.000 caracteres de código da IBM em 220 caracteres. Por causa disso, o trabalho da Microsoft acabou sendo avaliado de forma "negativa".Perguntas simples às vezes causam o maior impacto
Compartilhando uma experiência de otimização de código no início da carreira
Falta de direção clara no início de um projeto
Experimento mental sobre usar remoção de código como métrica
Atkinson Dither, de Bill Atkinson
Percepção sobre linhas de código
O papel como funcionário