4 trucs importants pour développer plus proprement

Lorsqu’on développe un script ou une fonction, on pense davantage au résultat du programme qu’à celui qui passera derrière pour débugguer ou améliorer. Et pourtant, la personne qui passe derrière, ce sera peut-être bien vous-même. Il est donc nécessaire d’assurer une hygiène de code, tout comme on s’impose une hygiène de vie.

1. Préparer un algorithme

Ca peut sembler évident, mais combien d’étudiants en informatique ouvrent leur environnement de développement dès le début du TP, sans la moindre préparation ? A la fin, ce sont les mêmes qui n’ont pas terminé et s’arrachent les cheveux avec les logs d’erreur.

Sans pousser jusqu’à une modélisation UML, il est toujours utile de rédiger un petit algo, histoire de prévoir à l’avance les différentes étapes de votre script. Une fois l’algo rédigé, placez le dans votre fichier source, en commentaire.

2. Structurer son code

Dans un programme, il y a plusieurs types d’instruction. Il est important de respecter la chronologie, sinon la relecture deviendra quasi impossible, sans compter le risque d’apparition de bugs, ou de failles de sécurité.

Voici un exemple de chronologie à respecter :

  1. Imports des fichiers externes, classes, etc.
  2. Déclaration des variables, constantes et fonctions
  3. Set des variables et des constantes
  4. Récupération des variables en entrée (inputs)
  5. Sécurisation des inputs
  6. Gestion des erreurs
  7. Traitement des données
  8. Affichage

3.Sécuriser les données en entrée

Quand j’essaie une paire de chaussure, je mets toujours des chaussettes. Après tout, celui qui l’a essayé avant moi pourrait avoir des mycoses ou des verrues ?

Vous devriez avoir le même comportement avec les données saisies par vos utilisateurs. C’est d’autant plus vrai pour les formulaires accessibles librement depuis un site web, parce qu’ils sont exposés à tous types d’attaques, manuelles ou automatisées. Il y a trois ans, j’ai posté un petit billet pour sécuriser les données en POST, GET et REQUEST. Ce n’est pas suffisant mais c’est un bon début. Pour approfondir en PHP, il y a de très bons filtres : http://php.net/manual/fr/filter.filters.sanitize.php

4. Commenter son code

Commenter son code, c’est comme laver son assiette avant de remanger dedans. C’est se respecter et respecter les gens que l’on sert. Si vous avez suivi ma première recommandation, l’algorithme peut déjà servir de squelette pour vos commentaires. C’est vraiment le minimum, il faut mieux compléter dès que le code n’est pas suffisamment explicite.

Des fois, je m’amuse même à mettre en commentaire la musique que j’écoute en ce moment, un jeu de mot rigolo ou des pistes d’amélioration. Quand on revient sur le code c’est toujours agréable de voir que quelqu’un a laissé un petit mot pour vous 🙂

La matrice est équipée d'une bonne gestion des erreurs

5. « Gestion des erreurs » : Ce n’est pas un gros mot

Même un hardcore coder peut faire des erreurs. Il est important de pouvoir avoir un retour en cas de pépin avec le script. Pour ma part, je me suis fais une fonction qui m’envoie un email lorsque le script rencontre une erreur.(Pour les scrapper, c’est indispensable). Exemple :

« $resultat = mysql_query($sql) or die(mysql_error()) » ne renseigne que l’utilisateur, vous n’êtes pas au courant.

Pour réagir, vous devez être averti (Les logs ne font que stocker, ils n’avertissent pas) Faites donc plutôt un « $resultat = mysql_query($sql) OR sendMeEmail($CHEMIN_SCRIPT, $INPUTS, mysql_error()); »

Vous recevrez un email avec l’erreur sql exacte, les données en entrée ayant mené à ce résulat et le chemin du script, histoire de savoir dans quel fichier taper.

Il y a tant de chose à dire sur le sujet, mais en respectant ces quelques conseils, vous aurez des scripts plus faciles à maintenir et assez intelligent pour avertir son créateur en cas de dysfonctionnement.

Bon code, et Have Fun 😉