18 octobre 2020

Top 10 des meilleurs radiateurs à quartz infrarouges 2020

Par Caroline


un bon mentor vaut mieux que n'importe quel outil de qualité

Ils ont été codés par Dave, votre collègue développeur.

Les cours sont remplis d’erreurs de formatage, de mauvaise indentation et de variables d’une lettre particulières. Il y a tellement de dépendances que vous devez faire défiler vers le bas pendant des minutes pour fuir le constructeur gonflé.

Shacking, vous ouvrez les évaluations de l’unité pour saisir la façon dont cela devrait fonctionner… mais elles n’existent pas. Horreur et malheur!

Vous pouvez demander à Dave de retourner à votre bureau, en lui criant que vous n’avez tout simplement jamais remarqué un code aussi merdique, le maudissant ainsi que sa famille pendant des générations.

Néanmoins, puisque vous êtes peut-être un être humain si respectueux, vous comprenez que ce n’est pas une superbe résolution. Éduquer au lieu de blâmer tout le temps donne de meilleurs résultats.

Avec une détente digne d’un moine zen, vous réparez d’abord le bogue qui rend votre boss fou avec l’aide de Dave. Ensuite, vous décidez de présenter à votre personnel des instruments de code de haute qualité.

Vous avez reçu un superbe lecteur de stratégie coûteux: des instruments de code de haute qualité sont importants pour noter un code PHP solide et sans erreur. Cela peut éventuellement aider vos collègues à détecter les défauts dans la base de code et à leur expliquer certaines idées clés.

N’oubliez pas néanmoins que la recommandation et les informations qu’ils présenteront reçues ne seront pas acceptables à tous les endroits. Comme d’habitude, cela dépend largement du contexte: votre base de code est-elle massive? Y a-t-il une superbe cause la complexité cyclomatique est excessive pour certains opérer?

Si vous êtes déjà ennuyé par ce texte et que vous souhaitez simplement voir une liste d’instruments PHP, vous pouvez peut-être accéder immédiatement à la liste de référence à la fin.

La toute dernière chose avant de plonger: les instruments présentés dans cet article analysent ou formater votre code. Je n’ai pas discuté des tests.

[Read: 3 concrete steps to learning a programming language]

Il y a tout le temps un certain nombre de méthodes pour insérer les instruments décrits ici.

Mon désir personnel est d’utiliser le package international du compositeur mis en place à l’aide de cgr pour éviter les problèmes de dépendance à l’échelle mondiale.

Vous pouvez aussi bien utiliser le format PHAR, le plus souvent.

Vous pouvez vérifier avec la documentation de chaque logiciel pour avoir tous les moyens réalisables de les installer.

Dans votre terminal

Tous les instruments peuvent être utilisés dans le terminal. Le plus souvent, vous devez simplement suivre le chemin de la base de code en argument et le tour est joué! Je décris ce cours de pour chaque instrument sur cet article.

Je vous conseille de nommer les instruments du dossier principal de votre entreprise. Chaque instance suppose que votre base de code se trouve dans le dossier src.

À Vim / Neovim

Vous pouvez simplement configurer dans Vim chaque logiciel dont vous avez besoin et leur permettre d’analyser vos données d’enregistrement ouvertes.

Avec le plugin neomake, vous pouvez brancher simplement PHPMD, PHPSTAN et PHPCS sur Vim. Il peut afficher dans les avertissements et erreurs de gouttière. Très utile!

Vous pouvez même créer vos créateurs personnels pour utiliser chaque code PHP des instruments de haute qualité dont vous avez besoin. A titre de référence, vous pouvez éventuellement demander l’avis de mon fichier de configuration neomake.

Dans PHPStorm

Puisque je n’utilise plus PhpStorm, je n’ai pas clarifié comment vous pouvez configurer ces instruments dans l’EDI.

Cependant, ici, quelques hyperliens vers la documentation de Jetbrain:

Je n’écrirais aucune ligne de code sans les prochains plugins. Ils formateront votre code correctement et vous fourniront de précieuses recommandations.

PHP-CS-Fixer (fixateur des exigences de codage PHP)

Commençons par la raison des longues conférences, des comportements haineux et des impulsions d’homicide: les directives de formatage du code. Un exemple important de la loi de la trivialité de Parkinson.

Personnellement, je n’ai aucune préférence concernant le formatage du code. Ce qui m’importe, c’est d’avoir un constant un:

  • C’est plus simple à apprendre
  • Cela libère vos pensées pour des questions vitales supplémentaires

PHP-CS-fixer est un instrument simple qui signifie que vous pouvez formater votre code mécaniquement. Par défaut, les directives PSR-1 et PSR-2 sont utilisées, mais vous pouvez éventuellement décrire vos directives de formatage personnelles.

Avec la commande suivante, vous pouvez éventuellement formater une base de code entière:

$ php-cs-fixer repair src/

Vous avez aussi bien la possibilité de prévisualiser les modifications sans les utiliser (--diff choix) ou vous pouvez éventuellement exiger les principes (--rules choix) que vous souhaitez utiliser.

PHPCS (PHP CodeSniffer)

PHP CodeSniffer est un excellent logiciel pour générer les violations des exigences de codage que vous avez dans votre base de code. Deux scripts de ligne de commande peuvent être utilisés: phpcs pour afficher les failles précises des exigences de codage, et phpcbf qui peut réparer certaines erreurs pour vous.

Vous pouvez trier par exemple:

$ phpcs src/

La sortie ressemblera à ça:

FILE: /house/superCoolUser/mySuperProject/src/Mannequin/SuperModel.php
------------------------------------------------------------------------------------------
FOUND 6 ERRORS AND 1 WARNINGS AFFECTING 7 LINES
------------------------------------------------------------------------------------------
  2 | ERROR   | [ ] Lacking file doc remark
 14 | ERROR   | [ ] Lacking @class tag at school remark
 20 | ERROR   | [ ] Lacking doc remark for operate __construct()
 34 | WARNING | [ ] Line exceeds 85 characters; comprises 93 characters
 57 | ERROR   | [x] Opening parenthesis of a multi-line operate name have to be the final content material on the road
 60 | ERROR   | [ ] Anticipated "if (...) {n"; discovered "if(...) {n"
 63 | ERROR   | [x] Closing parenthesis of a multi-line operate name have to be on a line by itself
----------------------------------------------------------------------------
PHPCBF CAN FIX THE 2 MARKED SNIFF VIOLATIONS AUTOMATICALLY
----------------------------------------------------------------------------

Comme vous pouvez le voir, phpcbf peut réparer mécaniquement deux erreurs pour vous en tapant:

$ phpcbf src/Mannequin/SuperModel.php

Vous devez utiliser le codage par défaut fourni avec PHP Code Sniffer ou vous pouvez simplement implémenter votre code personnel.

PHPMD (Détecteur de mess PHP)

PHPMD montrera les bogues et les abus possibles du langage dans votre utilitaire.

Voici comment faire la magie:

$ phpmd src/ textual content cleancode

PHPMD analysera la liste et les sous-répertoires de votre entreprise et affichera en texte brut les erreurs découvertes. Vous pouvez aussi bien créer un html ou xml sortie en modifiant le textual content choix dans la ligne de commande ci-dessus.

Sur cette instance, nous utilisons le cleancode règles mais vous pouvez éventuellement le modifier ou créer votre propre.

Souhaitez-vous afficher les erreurs dans un fichier? Facile:

$ phpmd src/ html cleancode --reportfile ~/phpmd.html

Au cas où vous sélectionnez xml en sortie, vous devriez avoir des données supplémentaires relatives à l’ensemble de règles comme suit:

   title="/house/mySuperUser/mySuperProject/src/randomClass.php">
     beginline="61" endline="61" rule="BooleanArgumentFlag" ruleset="Clear Code Guidelines" externalInfoUrl="http://phpmd.org/guidelines/cleancode.html#booleanargumentflag" precedence="1">
      The strategy notThatCoolMethod has a boolean flag argument $badBoolean, which is a sure signal of a Single Accountability Precept violation.
    
     beginline="102" endline="104" rule="ElseExpression" ruleset="Clear Code Guidelines" externalInfoUrl="http://phpmd.org/guidelines/cleancode.html#elseexpression" precedence="1">
      The strategy superMethod makes use of an else expression. Else is rarely needed and you'll simplify the code to work with out else.
    
  

Vous pouvez voir par exemple la préséance des principes violés. Vous pouvez ensuite affiner votre résultat final en utilisant le --minimumpriority choix par exemple.

En bref: PHPMD est un superbe logiciel que je vous encourage à utiliser. Il peut détecter un grand nombre de problèmes potentiels dans votre code et peut éviter des heures de débogage.

Votre patron sera probablement tellement satisfait qu’il améliorera votre salaire de 200%. Assuré.

PHPStan (dispositif d’évaluation statique PHP)

PHPStan est un autre logiciel à avoir dans votre boîte à outils. Est-ce l’intention? Les erreurs de sortie comme un langage compilé se montreraient pendant la compilation. C’est un superbe complément à PHPMD.

Vous pouvez l’exécuter comme conforme à:

$ phpstan analyse src/ --level=7

Vous pouvez déterminer la rigueur de PHPStan avec le choix de l’étendue. Le minimum est stage zero, le plus grand stage 7.

Pour vous proposer un concept ici une instance de la sortie:

 ------ -----------------------------------------------------------------------
  Line   src/MySuperModels/RandomModel
 ------ -----------------------------------------------------------------------
  78     Instantiated class AppServiceApiInvalidArgumentException not discovered.
  82     Instantiated class AppServiceApiInvalidArgumentException not discovered.
  93     Methodology AppServiceApiClientClientInterface::publish() invoked with three parameters, four required.
  103    Casting to string one thing that is already string.
 ------ -----------------------------------------------------------------------

Comme les instruments opposés, vous pouvez éventuellement créer vos directives personnelles.

PHPUnit et la métrique CRAP

Ce texte ne concernera pas le contrôle de l’unité. Je suppose que vous comprenez que le test unitaire de votre code est bien plus important que quelque chose de courant sur cet article.

PHPUnit peut aussi bien montrer des données très fascinantes: la métrique CRAP.

CRAP utilise la complexité cyclomatique avec la protection du code de votre code pour montrer quel est peut-être le code difficile à modifier dans votre utilitaire.

Plus l’index CRAP est excessif, plus votre code sera probablement considéré comme « merdique ».

Certes, dans le cas où votre code a une complexité impressionnante mais une protection de code faible, vous pouvez peut-être vous attendre à ce qu’il déclenche des bogues malchanceux chaque fois que vous le modifiez. Vous ne l’avez même pas découvert jusqu’à ce que votre patron vous crie dessus. Comptez sur Dave, votre collègue développeur, qui essaiera de vous pousser beaucoup plus vers le bas pour qu’il brille dans l’ombre de votre disgrâce.

Pour afficher les métriques CRAP, vous devez produire un rapport de protection du code:

$ phpunit phpunit --coverage-html ./tempFolder

Cela peut créer des données d’enregistrements HTML dans le tempFolder référencement. Vous pouvez ouvrir le index.html là-dedans et cliquez sur le lien hypertexte du tableau de bord pour enfin réfléchir à l’indicateur CRAP.

métrique de merdeVoyage au milieu du CRAP

Gardez cependant à l’esprit que la protection du code n’implique pas que votre code soit bien examiné. C’est une question complètement différente que je conserverai pour un article supplémentaire.

Vérifier votre code PHP plus en profondeur

Je profite des prochains instruments pour permettre à l’entreprise sur laquelle je travaille d’aller dans le bon chemin. Ils vous aideront à voir l’image massive.

Ils seront aussi bien un sauveur de la vie réelle lorsque vous devez travailler sur un utilitaire inconnu (hérité). Ils pourraient être une aide précieuse pour la refactorisation.

PhpLoc

PhpLoc est un excellent logiciel pour se faire une idée des dimensions d’une entreprise.

Tu peux…