Tout d'abord, je suis le responsable de PHP_CodeSniffer, donc je suis clairement biaisé dans ce domaine. Mais j'ai aussi travaillé sur des grandes bases de code dans mes 10 années en tant que dev PHP, donc j'espère que je peux apporter certaines des raisons pourquoi les normes de codage sont une bonne chose. Je pourrais écrire une série de blog sur ce sujet, mais je vais juste vous donner un peu d'histoire sur la façon dont PHP_CodeSniffer est venu à propos, de sorte que vous pouvez comprendre le problème que l'outil résolu pour moi.
J'ai travaillé sur quelques grands projets de la CMS. Le premier avait un tas de code derrière elle et une relativement petite équipe de développement. Nous n'avions pas de normes. Mais nous n'avions pas de réels problèmes. L'équipe était de petite taille et sont restés ensemble pendant un certain temps. Nous nous sommes habitués les uns aux autres.
Ensuite, nous avons construit un nouveau CMS. Nous avons commencé frais avec juste un couple de devs. J'étais alors partie d'une équipe de deux développeurs. Encore une fois, les normes de codage de ne pas nous causer des problèmes. Moi et les autres dev est venu de la même arrière-plan et a déjà établi des lignes directrices que nous avons suivi. Nous n'avons pas besoin de PHPCS.
Mais que l'équipe s'est un développeur à temps et a finalement atteint 12 à temps plein devs et tout à fait quelques-uns sont venus et repartis. Certains sont venus de l'ancien CMS et certains venaient de l'extérieur de l'entreprise. Tous avaient des origines différentes et une approche différente du développement. Il était évident qui a écrit ce code, parce que les styles si différents. Chaque fois que vous avez travaillé sur quelque chose de complexe, vous pensez d'abord à s'adapter à leur style parce que c'était juste pas la façon dont vous aviez l'habitude de voir le code. C'est comme la lecture de Shakespeare pour la première fois. Vous avez besoin de s'habituer à ce que vous puissiez les lire à votre rythme naturel.
Pour les développeurs, que le temps supplémentaire d'avoir à arrêter et trouver un autre style de codage est juste pur gaspillage de temps. C'est une chance pour une idée de glisser loin alors que vous êtes embourbé avec l'espacement, l'indentation et l'emplacement de support. À la fin de la journée, ces choses n'ont d'importance. Mais laissez-moi vous dire, elles sont très importantes si elles sont à l'origine de développeurs à sortir de leur flux. Nous avons donc besoin d'un moyen de leur faire obtenir le droit de sortir de la voie et permettre aux développeurs de faire ce qu'ils font de mieux.
Dans le même temps, nous avons été fouiller dans JavaScript beaucoup plus. Un nouveau langage où le style est généralement jeté par la fenêtre. Le Code a été copié/collé à partir de l'exemple des sites et à la purée d'ensemble. Lors de l'apprentissage de développer un code complexe dans une nouvelle langue, il est logique de trouver un moyen de rendre notre JS ressembler à notre PHP. Nous pouvons minimiser elle plus tard, mais nous avons besoin pour être en mesure de basculer entre les langues rapidement, encore une fois à garder nos flux.
Donc PHP_CodeSniffer est né à le faire. Il permet aux développeurs de travailler pour le même style de codage pour faire le formatage et d'autres de la flamme appât pour les questions de déplacer complètement hors de la voie. Il vous permet de traiter vos JS comme votre PHP dans une certaine mesure. - Je l'utiliser pour détecter des produits spécifiques sent comme non-traduit de chaînes ou de développeurs de ne pas utiliser notre propre classe d'inclusion de code. Je l'utilise aussi pour la langue spécifique sent comme vous assurer que JS virgule qui tue IE n'est pas de gauche autour de. Vous pouvez l'utiliser pour tout ce que vous voulez. Il est livré avec des tas de renifle qui sont faciles à fusionner à l'aide de l' XML, base de règles de fichier. Vous pouvez également écrire votre propre. Vous pouvez intégrer la 3e partie des outils pour en faire un one-stop-shop pour l'analyse statique de code. Vous pouvez être sérieux au sujet des normes et des odeurs de code que vous le souhaitez.
PHP_CodeSniffer, comme n'importe quel outil de dev, qui devrait fonctionner pour vous. Vous n'avez pas de travail pour elle. Si elle produit trop d'erreurs que vous ne se soucient pas de, personnaliser la norme pour supprimer ceux que vous ne voulez pas, ou tourner les erreurs dans les avertissements. Mais si mon histoire ressemble à quelque chose que vous allez à travers ou peut passer dans l'avenir, il vaut la peine de prendre un coup d'oeil étroit à PHP_CodeSniffer pour voir si ça peut vous aider.
J'espère que vous aide, et les autres, à comprendre pourquoi les normes de codage sont vraiment importantes à certains projets et de développeurs. Il n'est pas sur le détail. C'est sur la suppression de style de codage à partir de la liste de choses que les développeurs de perdre le focus.