pourquoi faire une fonction pour un gros code utilisé une seule fois ?
pour rendre le script ( = enchainement logique de fonctions basiques ) plus lisible. ce qui doit resortir, c'est la logique du script. si les fonctions sont assez nombreuses et bien pensées, on peut avoir un script qui ressemble à du pseudo code ( = le processus tel qu'on l'écrit sur un bout de feuille aux toilettes )
exemple :
pour rendre le script ( = enchainement logique de fonctions basiques ) plus lisible. ce qui doit resortir, c'est la logique du script. si les fonctions sont assez nombreuses et bien pensées, on peut avoir un script qui ressemble à du pseudo code ( = le processus tel qu'on l'écrit sur un bout de feuille aux toilettes )
exemple :
Code PHP :
<?php
// script d'inscription
if( verifierDonnees( $login, $mail, $pass, $pass_confirmation ) == TRUE )
{
// données valides
enregistrerCompte($login, $mail, $pass);
envoyerConfirmationMail($login, $mail);
afficherCestBon();
}else{
// erreur dans le formulaire
afficherErreur();
}
c'est tout l'interêt des fonctions, même si elle ne servent qu'une fois.
le 2e interêt, c'est de pouvoir utiliser ces fonctions ailleurs. où ça ?
non pas DTC, mais DTT : dans ton test, c'est à dire dans un script qui vérifie que la fonction renvoie les résultats attendus. pour cela, on utilise plusieurs fois la fonction avec des paramètres différents, devant renvoyer une fois vrai, une fois faux, etc etc.
on en arrive aux tests unitaires, qui renforcent la qualité du code, sa résistance au changement, sa résistance à la triche ( on peut imaginer reproduire une utilisation frauduleuse d'une fonction, pour prouver que la triche est possible; ensuite on colmate la bréche, vu qu'on l'a identifiée. cf le sujet/débat "Logging" )
bref, que du bonheur !
A+
Pascal