Le code faisait son boulot, mais c’était une accumulation de code divers, de couches et de surcouches de modifications diverses, si bien que c’était difficile de s’y retrouver.
D’après un dév qui m’avait parlé du code lors de la création de LibreOffice, c’était vraiment triste à voir, un bordel sans nom. Il y avait 6 ou 7 types de chaînes (contre 2 aujourd’hui). Des millions de lignes de code inutiles ont été supprimées. L’outil de build dmake était tellement vieux et obsolète qu’il utilisait la licence GPL 1. Il y avait des macros un peu partout. Compiler OpenOffice était compliqué, long et piégeux. Trois ans après, le nettoyage n’est toujours pas fini, tellement la dette technique est énorme, mais ils en viennent peu à peu à bout.
Le problème, ce n’était pas l’incompétence (le code est quand même sacrément pointu), mais le manque de gens pour mettre le code à jour et l’accumulation des vieux bidules qui ne servaient plus et encombraient.
Pour comparaison, OpenOffice contient 10 millions de lignes de code en C++ contre 5 millions pour LibreOffice, qui fait pourtant plus de choses.
[^] # Re: Bravo, mais il y a quand même quelque chose qui me gène dans ce billet ...
Posté par coid . En réponse à la dépêche LibreOffice 4.2.0 est disponible. Évalué à 10. Dernière modification le 03 février 2014 à 16:07.
Le code faisait son boulot, mais c’était une accumulation de code divers, de couches et de surcouches de modifications diverses, si bien que c’était difficile de s’y retrouver.
D’après un dév qui m’avait parlé du code lors de la création de LibreOffice, c’était vraiment triste à voir, un bordel sans nom. Il y avait 6 ou 7 types de chaînes (contre 2 aujourd’hui). Des millions de lignes de code inutiles ont été supprimées. L’outil de build dmake était tellement vieux et obsolète qu’il utilisait la licence GPL 1. Il y avait des macros un peu partout. Compiler OpenOffice était compliqué, long et piégeux. Trois ans après, le nettoyage n’est toujours pas fini, tellement la dette technique est énorme, mais ils en viennent peu à peu à bout.
Le problème, ce n’était pas l’incompétence (le code est quand même sacrément pointu), mais le manque de gens pour mettre le code à jour et l’accumulation des vieux bidules qui ne servaient plus et encombraient.
Pour comparaison, OpenOffice contient 10 millions de lignes de code en C++ contre 5 millions pour LibreOffice, qui fait pourtant plus de choses.
http://www.ohloh.net/p/libreoffice/analyses/latest/languages_summary
http://www.ohloh.net/p/openoffice/analyses/latest/languages_summary
Une présentation de Michael Meeks datent de début 2013 sur le nettoyage de code:
https://people.gnome.org/~michael/data/2013-02-03-re-factoring.pdf
Et plus encore:
https://people.gnome.org/~michael/blog/2012-01-09-unused.html