Maison >développement back-end >tutoriel php >Ça vaut le coup d'oeil ! Compétences en codage et réflexion nécessaires pour les ingénieurs PHP seniors

Ça vaut le coup d'oeil ! Compétences en codage et réflexion nécessaires pour les ingénieurs PHP seniors

藏色散人
藏色散人avant
2020-08-22 13:30:073467parcourir

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éthode

aprè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 :

  • Utilisez la nouvelle forme de tableau [ ] au lieu de l'ancien tableau().
  • Utilisez l'opérateur === au lieu de == sauf s'il est important de ne pas vérifier le type de données.
  • C'est toujours une bonne idée de donner aux méthodes publiques des noms courts et descriptifs. Les méthodes privées peuvent utiliser des noms plus longs car leur portée est plus limitée.
  • Utilisez des noms génériques tels que add() uniquement pour les méthodes qui implémentent l'interface, et utilisez des noms descriptifs tels que addUser() ou addDocument() pour les méthodes de classe individuelles.
  • Supprimez les méthodes inutilisées de la classe.
  • Utilisez le préfixe is/has pour les fonctions qui renvoient des booléens, etc. : isAdmin($user), hasPermission($user).
  • Utilisez toujours des modificateurs d'accès dans les méthodes et propriétés de classe.
  • Soyez conscient de la pollution de l'interface : utilisez uniquement des méthodes accessibles publiquement aux utilisateurs.
  • Organisez les méthodes de classe avec les méthodes publiques en haut.
  • Appliquez toujours le concept de responsabilité unique au sein d'une classe.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer