Faut-il optimiser son code ou le garder lisible ?
La baisse des coûts de stockage va-t-il influencer votre manière de développer
Ayende Rahien, de son vrai nom Oren Eini, est un développeur .NET connu, qui participe également à de nombreux projets open-sources (NHibernate, Castle et Rhino Mocks).
Sur son blog, très technique (mais passionnant), un de ses billets vient de soulever une question très intéressante.
Son poste est intitulé, plutôt ironiquement, " Vous avez gagné 5 centimes, mais votre code est illisible, félicitations ".
Il critique dans ce billet le choix d'un confrère qui relate le passage d'un projet de MySQL à MongoDB.
Si MySQL ne stocke pas le nom des colonnes avec les données, MongoDB, le fait pour chaque ligne.
En raccourcissant le nom des colonnes à 2 ou 3 caractères, le développeur en question se réjouit d'avoir réduit de 140 mégas la taille de sa base de données.
Un chiffre qui n'impressionne pas Rahien. Au contraire, il fait un calcul simple.
Selon lui, l'espace disque libéré ne vaut pas plus de 0.05 dollar (le disque de 2 To coûte environ 120 dollars).
Alors qu'une seule minute du temps d'un développeur coûterait 0.62 cents. Soit 12 fois plus que ladite économie en espace disque.
Mais si le billet Rahien ne traite que de ce cas précis de bases de données, le même principe peut être appliqué au développement.
Une application écrite différemment peut économiser un serveur de production ou deux. Mais sa lisibilité, son évolutivité et sa facilité à être maintenu peuvent être compromises.
Et entrainer des coûts supplémentaires.
Ce billet d’Oren Eini a au moins le mérite de poser la question. Code clair (et un peu plus lourd) contre code optimisé (et illisible). Chaque école apportera sa propre réponse.
Et vous ?
De quelle école êtes-vous ? Celle du code lisible ou au contraire, préférez-vous l'optimisation des performances ?
Pensez-vous qu'il soit possible de faire les deux ?
Source : blog de Ayende Rahien
En collaboration avec Gordon Fowler
Partager