CE SCRIPT À ÉTÉ SUPPRIMÉ.

Fermé
cs_mfaraday Messages postés 144 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 4 janvier 2010 - 8 févr. 2009 à 13:43
 moi - 20 oct. 2018 à 16:28
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/49217-ce-script-a-ete-supprime

Quoi ?
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
8 févr. 2009 à 18:20
Edit de mon commentaire, en anglais, C'est ZipCode pour code postal et non PostalCode ^^
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
8 févr. 2009 à 18:17
Salut,

Ton code n'est malheureusement pas spécialement réutilisable car tu l'as développé pour tes besoins très spécifiques. De plus, des méthodes de validation comme celle-ci n'ont visiblement rien à faire dans la même classe car elles ne sont pas de la même nature. Il vaut mieux faire une classe de validation par type de validation car c'est bien plus découplé et réutilisable. Par exemple, tu peux faire des classes comme :

ValidatorString, ValidatorEmail, ValidatorPostalCode, ValidatorPhoneNumber...

Toutes devraient implémenter une méthode isValid() pour vérifier la valeur soumise en paramètre. Ca te permet aussi de définir des paramètres particuliers à chaque validateur. Par exemple, une classe ValidatorString peut avoir les paramètres min_length, max_length, empty, trim... En fonction de ces paramètres, ta méthode isValid() effectue les traitements adéquats et jette des exceptions en cas d'erreur.

L'avantage aussi de tout découpler dans différentes classes, c'est de pouvoir rendre des objets les plus génériques possibles et de pouvoir effectuer facilement des tests unitaires dessus. Avec ta classe, le gros problème, c'est qu'il faudra à chaque fois ajouter une méthode supplémentaire si l'on a un besoin spécifique de validation (par exemple, valider un numéro de compte bancaire). Plus tu mets du code dans une classe, plus tu augmentes des risques d'effets de bord et moins le code est maintenable aussi.

Je te laisse méditer un peu sur la réflexion mais c'est là toute la puissance du paradigme objet. C'est de pouvoir créer tout plein d'objets qui sont chacun de petites unités fonctionnelles que tu fais interagir ensemble pour obtenir un résultat.
cs_mfaraday Messages postés 144 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 4 janvier 2010
8 févr. 2009 à 13:43
Bonjour,

J'aime bien le principe... même si j'aurais tendance à faire une vérif préliminaire en JS.

Par contre ce qui m'embête, c'est que la classe est configurée pour ton utilisation, pourquoi ne pas mettre en variables les paramètres de fonctions par exemple le nombre mini et maxi de caractères pour la fonction checkCp ? ou même pour la vérification du mot de passe qui est d'une longueur 6 chez toi.

Voila je pense que ce serait utile de regrouper ces valeurs en début de classe.

Florian