• [^] # Re: Échange avec Uncle Bob

    Posté par . En réponse au lien « Clean code » : performances lamentables. Évalué à 3.

    Très bien mais du coup ça veut dire quoi ?

    Ca veut dire tendre vers 0. Je ne comprend pas pourquoi je dois expliquer ce que "essayer d'avoir moins de bugs" entends.

    La méthode diffère selon la situation, les gens, et leurs compétences.
    La preuve de coq est une possibilité (il paraît, je ne jamais vu ça mis en place), mais ce n'est pas la seule. On peut aussi utiliser des outils d'analyse statique, les tests unitaires, la programmation par contrat, ... il y a plein de méthodes pour essayer de réduire le nombre de bugs. Aucune à ma connaissance n'est parfaite, mais la méthode joue clairement.
    De toute façon, l'absence de bugs est impossible (oui, ça contredit les mathématiciens, qui sont pourtant plus intelligents que moi) avec juste du code: on est toujours exposé aux problèmes "environnementaux": avoir une machine qui plante parce qu'un appareil à proximité émets des ondes magnétiques trop fortes, ça arrive, et tu peux prendre l'algo que tu veux, l'archi que tu veux, la vérification formelle que tu veux, ça ne changera rien.
    Bon, évidemment, ce n'est pas le type de bugs le plus fréquent, loin de la et heureusement (parce que c'est la merde a trouver, promis) et ça peut sembler extrême, mais j'ai déjà vu un appel téléphonique faire redémarrer un PC...

    Tu as l'impression que c'est ce qu'il se passe ? Que les logiciels utilisés n'ont pas de bugs ?

    Toutes les qualités peuvent avoir ce genre de phrases :

    Tout à fait, et c'est pour ça que j'ai écrit:

    La priorité, c'est que le logiciel fasse sans erreurs ce qu'il a été conçu pour faire, et c'est un équilibre à trouver, toujours.

    que j'ai du corriger via un nouveau message en:

    La priorité, c'est que le logiciel fasse sans erreurs ce qu'il a été conçu pour faire, et le reste, c'est un équilibre à trouver, toujours.

    Mais c'est un avis. Tout a fait discutable.

    Que je rejoins globalement, mais je suis quand même intrigué: tu as déjà vu des logiciels dont les utilisateurs ne connaissent pas l'utilité? Après, il est aussi vrai que parfois certains bugs sont mués en fonctionnalités, et vice versa.
    En tant qu'utilisateur, je me contrefout que le code de linux soit écrit en C, en Rust ou en brainfuck. Ce que je vois (ou pas), c'est quand ça bug. En tant qu'utilisateur, c'est bien la seule chose que je remarque la plupart du temps :D (et en tant que codeur, je sais que c'est difficile a digérer)