• [^] # Re: et les fonctions

    Posté par (site web personnel) . En réponse au journal Software architecture considered harmful. Évalué à 10. Dernière modification le 09 juin 2022 à 22:36.

    Il y a un second aspect important dans la préconisation de clean code de faire plein de petites fonctions : à l'intérieur d'une fonction, le niveau d'abstraction doit être homogène.

    Par exemple, on évite de mélanger des appels à des fonctions de haut niveau avec du code de très bas niveau dans le même bloc.

    Éviter :

     void readTemperature() {
     connectToSensor();
     readSensorValue();
     FILE *fp = fopen("output file.txt", "w");
     fwrite(...);
     fclose(fp);
     }

    Préférer :

     void readTemperature() {
     connectToSensor();
     readSensorValue();
     writeSensorValue("output file.txt");
     }
     void writeSensorValue(char *filename) {
     FILE *fp = fopen(filename, "w");
     fwrite(...);
     fclose(fp);
     }

    Ça évite au cerveau de devoir changer de niveau d'abstraction en pleine lecture d'un « paragraphe ».