Au vue du nombre de visites sur l’article d’hier, il apparait évident que la qualité du code est à vos yeux très intéressant ! Ainsi, alors que je vous ai présenté qu’il était important d’utiliser une norme de codage, ou encore d’écrire des commentaires utiles, de ne pas négliger la refactorisation, d’éviter de déclarer des variables, des boucles dans le scope global ou encore d’utiliser des noms significatifs pour vos variables, méthodes ou classes, aujourd’hui je vais finir par vous livrer mes cinq derniers conseils.
6 – Utiliser des structures
Structurer votre application est très important. Ne pas utiliser des structures complexes, toujours s’en tenir à la simplicité. Lorsque vous nommez des répertoires et des fichiers, utilisez une convention de nommage avec votre équipe que vous conviendrez, ou utilisez l’une associée à votre règle de codage.
Je vous recommande toujours de séparer les quatre parties de n’importe quelle application PHP typique les unes des autres : CSS, HTML, JavaScript, PHP. Pour chacune de ces « structures », essayez de diviser les bibliothèques de la logique métier. C’est aussi une bonne idée de garder la hiérarchie des répertoires aussi basique que possible de sorte qu’il est plus facile de naviguer et de trouver le code que vous recherchez.
7 – Utilisez un logiciel de contrôle de version
Il y a quelques années, les équipes de développement s’appuyaient sur le CVS (Concurrent Versions System), ou encore la commande diff
d’Unix pour le contrôle de version. Cependant, aujourd’hui nous avons une variété de solutions disponibles. La gestion des modifications et des révisions devraient être aisées mais efficaces, afin de choisir n’importe quel logiciel de contrôle de version qui fonctionnera le mieux avec le flux de travail de votre équipe de développement.
Si professionnellement nous utilisons SVN pour une question d’antériorité, personnellement je préfère utiliser un outil de contrôle de version distribuée comme Git ou Mercurial, tous deux sont des logiciels libres et Open Source et surtout très puissant !
Si vous ne savez pas quel logiciel de contrôle de version choisir, je vous recommande la lecture de l’article concernant l’introduction à GitHub, un service web d’hébergement et de gestion de développement de logiciels, utilisant le programme Git.
8 – Utilisez des outils de génération automatique
Essayez d’utiliser des outils comme Ant ou Phing pour automatiser les opérations répétitives du développement de logiciel telles que la génération de code, la construction des releases, la génération de la documentation, la génération de rapports (tests unitaires, couverture du code, aspect du code…), le déploiement dans différents environnements, etc…
L’idée de pouvoir construire entièrement votre application avec une seule commande est une merveilleuse façon de prévenir les erreurs et les omissions qui sont inhérentes lors de l’exécution des tâches répétitives, et est généralement un noyau pré-requis pour les stratégies de tests automatisés.
Je recommande d’utiliser Phing, c’est un outil bien connu dans le système de build pour PHP, et imite parfaitement Ant, si vous n’êtes pas familier avec ce dernier, je vous recommande de revenir la semaine prochaine sur ce même blog car je devrais proposer un ou deux articles sur la découverte et l’utilisation de Phing.
9 – Ayez un générateur de documentation de code
Pour les grandes applications couvrant plusieurs classes et espaces de noms, vous devriez avoir une documentation de l’API automatiquement générée. Ceci est très utile et maintient l’équipe de développement au courant de « ce qui est quoi ».
Et, si vous travaillez sur plusieurs projets en même temps, vous trouverez la documentation telle une bénédiction car vous pourriez avoir oublié les structures suite aux différents allers-retours entre vos projets. Aidez-vous de DocBlox par exemple !
10 – Utiliser un framework de test
Il y a une abondance d’outils que j’ai vraiment apprécié, mais de loin ce que j’apprécie le plus sont les frameworks qui aident à automatiser le processus de test. Si les tests, notamment les tests systématiques, sont souvent oubliés par les développeurs, il n’en reste pas moins qu’ils sont cruciaux pour chaque élément de votre applicatif.
Si des outils tels que PHPUnit et SimpleTest sont mondialement connus pour effectuer des tests unitaires sur vos classes PHP, je ne peux que vous recommander de regarder le projet atoum (notamment lorsque c’est un français qui en est responsable !). Là également j’ai dans l’idée de faire un article dessus prochainement. Pour les tests GUI, je recommande des outils tels que SeleniumHQ.
Conclusion
Dans cet article, vous avez vu un aperçu de quelques-unes des meilleures pratiques pour rédiger du code de meilleure qualité, y compris en utilisant une norme de codage d’unifier le formatage du code à travers l’ensemble de l’équipe, l’importance de refactoring et comment l’aborder, et en utilisant des outils professionnels tels que des frameworks de tests, un générateur de documentation de code, ou encore un système de contrôle de version pour les aider à gérer votre base de code.
Bien entendu je ne prétends pas détenir les meilleurs conseils, mais je pense qu’ils valent la peine d’adopter ces conseils de base, cela ne peut être que bénéfique pour vous et de votre équipe.
N’hésitez pas à apporter votre expérience dans ce domaine.