- En 2007, 2 000 lignes de code
(folklore.org)The Original Macintosh: 36 of 123 - 2000 Lines Of Code
-
Au début de 1982, l’équipe logicielle de Lisa se concentrait sur les dernières étapes du travail afin de livrer le logiciel dans les six mois à venir.
-
Certains responsables ont pensé que ce serait une bonne idée de suivre chaque semaine la quantité de code écrite par chaque ingénieur, et ont créé un formulaire à remettre chaque vendredi, avec un champ indiquant le nombre de lignes de code écrites cette semaine-là.
-
Bill Atkinson, auteur de Quickdraw et principal concepteur de l’interface utilisateur, estimait que le nombre de lignes de code était une manière absurde de mesurer la productivité logicielle, car cela ne faisait qu’encourager l’écriture d’un code désordonné, gonflé et bogué.
-
Atkinson travaillait récemment à l’optimisation du moteur de calcul de régions de Quickdraw, et a entièrement réécrit le moteur de régions à l’aide d’un algorithme plus simple et plus général, ce qui, après quelques ajustements, a rendu les opérations sur les régions presque 6 fois plus rapides.
-
Cette réécriture a eu pour effet secondaire d’économiser environ 2 000 lignes de code.
-
Lors de la phase finale de cette optimisation, il a dû remplir pour la première fois le formulaire de gestion et, arrivé à la section sur le nombre de lignes de code, il a réfléchi un instant puis a inscrit le nombre -2000.
-
On ne sait pas exactement comment les responsables ont réagi, mais quelques semaines plus tard, ils ont cessé de demander à Atkinson de remplir le formulaire, ce à quoi il s’est volontiers conformé.
L’avis de GN⁺
- Cet article transmet une leçon importante : dans le développement logiciel, la quantité de code n’est pas un véritable indicateur de productivité. Mesurer la performance au nombre de lignes de code est non seulement inefficace, mais peut parfois produire l’effet inverse.
- L’exemple de Bill Atkinson souligne l’importance de l’optimisation logicielle. Obtenir de meilleures performances avec moins de code est l’un des principes fondamentaux du software engineering.
- Cette histoire aide à comprendre pourquoi les pratiques de développement modernes, notamment les méthodologies agiles et les approches comme l’intégration et le déploiement continus (CI/CD), sont importantes. Ces méthodologies accordent plus de valeur à la qualité, à la maintenabilité et à l’expérience utilisateur qu’à la quantité de code.
- Dans l’industrie, divers outils et métriques sont utilisés pour mesurer et améliorer la qualité du code, par exemple les outils d’analyse statique, les processus de code review et le suivi de la couverture de tests.
- Cet article rappelle aux développeurs combien il est important de se concentrer sur la qualité plutôt que sur la quantité de code, d’éviter la complexité inutile et d’optimiser les performances.
1 commentaires
Avis Hacker News
Conflit autour du nombre de lignes de code entre Microsoft et IBM
Liens vers des discussions précédentes
Utiliser le nombre de lignes de code comme indicateur de production est profondément absurde
order by, et s’interroge sur la manière de mesurer l’impact d’une seule ligne. Il partage aussi son expérience selon laquelle les mauvais programmeurs écrivent davantage de code, et cite un cas où un développeur Microsoft a réécrit 33 000 caractères de code IBM en 220 caractères. Cela aurait conduit à considérer le travail de Microsoft comme « négatif ».Une question simple a parfois le plus grand impact
Partage d’une expérience d’optimisation de code en début de carrière
Le manque de direction claire au démarrage d’un projet
Expérience de pensée sur l’idée de mesurer les suppressions de code
Bill Atkinson et l’Atkinson Dither
Perception du nombre de lignes de code
Le rôle en tant qu’employé