Messagepar HULK28 » sam. 3 oct. 2015 14:36
Bien sur qu'il y a non pas un mais DES intérêts à pratiquer de la sorte.
D'ailleurs on ne pratique QUE de la sorte dans la vraie vie, le fichier unique est uniquement le reflet d'une (mauvaise) pratique et souvent d'une méconnaissance des techniques propres et efficaces de programmations.
Voici quelques intérêts dans une liste non exhaustive:
1/Lisibilité.
le fichier .c contient les définitions des fonctions, les macros associées (par exemple pour utiliser l'uart ou un capteur quelconque), les variables afférentes etc.
Le fichier associé .h permet de partager les déclarations qui seront nécessaires aux autre modules pour accéder aux différentes fonctions.
On fait appel à #include pour appeler les différents modules logiciels qui seront utiles dans le programme principal, celui qui contient le main().
2/Compréhension
Un développement logiciel n'est pas uniquement un travail individuel, il peut être amené à être partagé et maintenu par de nombreuses personnes dans un cadre professionnel.
Pour cela le choix des noms de variables, les noms d'arguments, de fonctions, etc doivent être clairs et parlants et parfaitement organisés, sans avoir à passer plusieurs heures à jouer à décrypter un hiéroglyphe.
Utiliser une organisation en modules par fonctionnalité apporte une rigueur nécessaire qui s'apprécie quand la taille du programme devient conséquente.
Il n'est pas rare d'avoir plus de 10 modules .c/.h dans une application même relativement simple.
3/ Maintenance
Si une amélioration doit être faite sur par exemple le module I2C (ajout d'une fonction), seul le fichier i2c.c sera retouché, ça va prendre très peu de temps puisque le fichier ne contient que les mécanismes i2c et rien d'autre.
4/ Confidentialité
Possibilité de cette manière de générer des fichiers publics ou non publics, par exemple si vous écrivez une pile CAN Open mais que vous ne voulez pas que votre client ait accès au code source original, il pourra utiliser la pile sans pour autant en connaitre ce qu'il y a sous le capot moteur.
Par exemple sous Mikroc vous avez accès à la fonction ADC_Read() sans pour autant pouvoir visualiser son exact contenu.
"Pour la carotte, le lapin est la parfaite incarnation du mal" -Robert Shecley-