Recommandé : "Tutoriel vidéo PHP" Dans l’industrie du logiciel, écrire du bon code signifie économiser de l’argent sur les tests, la mise à jour, l’extension ou la correction des bogues. Dans cet article, je vais vous montrer quelques exemples concrets de techniques et d'idées pour vous aider à nettoyer votre code logique, à le refactoriser et à le rendre plus robuste et modulaire. Ces conseils vous aideront non seulement à refactoriser votre ancien code, mais vous donneront également de bons conseils sur la façon d'écrire du code plus propre à partir de maintenant.
Qu'est-ce que le refactoring et pourquoi en avons-nous besoin ?
Le refactoring fait référence à des méthodes et des étapes qui nous aident à écrire du code concis. Ceci est important pour les autres développeurs qui peuvent lire, étendre et réutiliser notre code sans trop de modifications.
Le contenu suivant vous montrera quelques exemples de refactorisation du code logique pour l'améliorer.Ne refactorisez pas le code de production sans tests unitaires
Mon premier conseil est de ne jamais commencer sans tester entièrement le code logique de refactorisation unitaire. Mon raisonnement est le suivant : vous vous retrouverez avec une fonctionnalité cassée, difficile à réparer, car il est difficile d'identifier ce qui est cassé. Donc, si vous envisagez de le refactoriser, commencez par des tests. Assurez-vous que les parties que vous envisagez de refactoriser sont couvertes par des tests. Analyse de la couverture du code PHPUnit
.Commencez la refactorisation à partir du bas de votre code
Regardez l'image ci-dessous. Il s'agit d'un véritable projet de système de gestion hôtelière que j'ai trouvé sur Github. Il s'agit d'un projet open source, mais les projets fermés seraient terribles.
Exemple : Refactoring de bas en haut
Regardez ce code, il y a trois niveaux marqués en rouge. Le niveau le plus bas doit être la déclaration entourée de if/else dans la première condition if. Habituellement, le niveau le plus bas est concentré sur un seul traitement logique et est plus facile à refactoriser.Rendez vos méthodes plus courtes, décomposez-les en méthodes plus petites ou en fichiers de configuration/tables de base de données
Peut-être qu'ici, nous pouvons l'affiner comme ci-dessous Une méthode privée :
Rendez votre méthode plus courte
Le prochain point approfondi sera le téléchargement des paramètres et le chargement des vues. Maintenant, regardons la méthodeaprès avoir refactorisé le reste. Il devient plus concis, plus facile à lire et à tester.
add()
Exemple : Refactorisez d'abord le niveau le plus bas
instruction if S'en tenir aux accolades
La plupart des langages de programmation Tous prend en charge les instructions if sur une seule ligne. Parce que c'est plus simple, certains développeurs l'utilisent de cette façon. Cependant, cela n'est pas facile à lire et peut facilement causer des problèmes, car une ligne vide peut interrompre la condition et provoquer un crash. Regardez la différence entre les deux exemples suivants :
Exemple : Utilisez des accolades
N'utilisez pas de nombres magiques ni de chaînes magiques :
Dans l'exemple suivant, vous remarquez que si la salle dépasse 250, un message d'erreur sera renvoyé. Ici, 250 est considéré comme un nombre magique. Si vous n'êtes pas le développeur qui écrit ceci, il est difficile de comprendre ce que signifie ce numéro.
Exemple : Les nombres magiques
Pour refactoriser cette méthode, on peut souligner que 250 représente le nombre maximum de pièces. Pour remplacer le codage en dur, on peut l'extraire dans une variable. Cela devient désormais plus compréhensible pour les autres développeurs.
$maxAvailableRooms
Exemple : Corrigez les nombres magiques
N'utilisez pas d'instructions else si vous n'en avez pas vraiment besoin :
Dans la même fonction availablerooms(), vous remarquez que l'instruction if, où l'on peut facilement se débarrasser de la partie else et la logique reste cohérente.
Exemple : Ignorer la déclaration else
Utilisez un nom qui représente vos méthodes, variables et tests
Dans l'exemple suivant, vous constaterez que le système de gestion hôtelière dispose de deux méthodes : "index()" et "room_m()". Pour moi, je n'arrive pas à comprendre quel est leur but. Je pense qu'il devrait être facile de comprendre si leurs noms se décrivent.
Exemple : Mauvais nommage de méthode
Profitez pleinement des fonctionnalités de votre langage de programmation
De nombreux développeurs Les programmeurs ne profiteront pas de toutes les capacités du langage de programmation qu’ils utilisent. De nombreuses fonctionnalités peuvent vous faire gagner du temps et rendre votre code plus robuste. Jetez un œil à l'exemple ci-dessous et remarquez à quel point il est plus facile d'obtenir le même résultat avec moins de code, en utilisant des astuces de type.
Enfin, je souhaite proposer quelques conseils rapides pour un meilleur codage :
Adresse originale : https://medium.com/@maladdinsayed/advanced-techniques-and-ideas-for-better-coding-skills-d632e9f9675
Traduction Adresse : https://learnku.com/php/t/37900
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!