Pourquoi vous avez besoin de renifleurs de code pour le développement Web
L'optimisation du code est comparable à la phase d'édition d'une écriture. Vous devrez peut-être d'abord obtenir vos idées dans le code, mais votre code devrait être optimisé avec des outils comme les sniffers de code pour produire le meilleur produit possible.
Le reniflage de code est un terme qui décrit le code de vérification de la conformité aux normes réglementaires . Ces réglementations peuvent spécifier le nombre d'espaces à utiliser pour l'indentation, le placement d'accolades ou la désignation des variables. Les normes ne sont pas essentielles pour créer une application Web, mais les normes sont importantes pour la cohérence interne et la maintenance du code .
C'est là que le reniflage de code est utile pour tous les développeurs, de l'interface à l'arrière. Je voudrais examiner le processus de reniflage de code et offrir quelques utilitaires qui aident à analyser les normes de code .
Qu'est-ce que le reniflage de code?
L'action du reniflage de code est généralement automatisée pour gagner du temps et réduire les erreurs . Les renifleurs de codes vérifieront les codes sources pour s'assurer qu'ils sont conformes aux normes établies par les équipes de développement internes ou les organismes de réglementation.
Le reniflement de code est semblable au pelage de code mais plus pédant. Linting vérifie principalement les bogues et les erreurs de syntaxe pendant que sniffing cherche des problèmes dans la façon dont le code est écrit . Un fichier PHP peut toujours fonctionner correctement mais échouera à un test de reniflage de code si un nom de variable ne suit pas les standards (par exemple $ myVariable vs $ my_variable ).
Une terminologie similaire est l'odeur de code qui vérifie les défauts de conception dans le code qui peuvent conduire à des bugs plus importants. Cela peut concerner les normes de code mais inclut également des architectures de niveau supérieur pour l'écriture de code homogène .
Toutes ces zones méritent d'être couvertes et sont pertinentes pour le reniflage de code. Gardez juste à l'esprit que le code reniflant ne trouvera pas toujours les bugs d'exécution car sa priorité est de maintenir une stricte conformité aux standards .
Maintenant, vous pourriez vous demander si les normes sont importantes? La vérité est qu'ils ont de l'importance, mais plus pour l'optimisation et le nettoyage du projet. De nombreux développeurs s'accordent à dire que les normes sont essentielles à la programmation et au développement Web, en particulier pour les grands projets d'équipe.
Voici une citation du développeur Paul Jones expliquant pourquoi les normes de code sont utiles.
"Le but d'une norme de style de codage n'est pas de dire qu'un style est objectivement meilleur qu'un autre ... Au lieu de cela, il s'agit de définir des attentes connues sur la façon dont le code va ressembler."
Si vous construisez une petite application Web pour vous-même, il ne vaut peut-être pas la peine de passer du temps sur les normes WCAG 2.0 ou PSR-2. Mais considérez les centaines de développeurs travaillant sur le code source d'Adobe Photoshop. Ce serait chaotique si chaque personne écrivait son propre style et combinait tout cela ensemble.
Bien que les équipes dépendent fortement des normes, ces règles peuvent toujours être utiles aux développeurs isolés. Vous pouvez trouver des normes de code pour tout, de CSS à WordPress, donc il n'y a aucune excuse pour ne pas essayer de voir si la qualité de votre code s'améliore.
La valeur des normes de code
Les normes garderont naturellement votre code propre et organisé . Les développeurs savent exactement comment écrire du code et comment suivre le travail de chacun.
Les normes de code aident également le développement open source en offrant des règles pour les autres à suivre. Les fichiers peuvent être récupérés par n'importe qui des mois ou des années plus tard et être toujours faciles à lire .
Un style de codage strict est une bonne idée, même si vous choisissez de créer votre propre . Cela demande beaucoup d'efforts, mais au fur et à mesure que les projets grandissent, ce type de documentation est inestimable.
Voici quelques normes de codage à considérer qui couvrent la gamme des différentes langues Web.
- Normes de codification PEAR (PHP)
- Normes Google pour HTML / CSS
- Normes Google pour JavaScript
- Style de codage Django (Python)
- Rails Style Guide (Rubis)
- WCAG 2.0 (UX)
Meilleures ressources de reniflage de code
Il est maintenant possible de trouver des sniffers de code gratuits pour tout, du HTML / CSS aux langages backend comme PHP et SQL. Vous n'aurez peut-être pas besoin d'utiliser ces renifleurs ou de suivre les normes pour chaque langue, mais cela vaut la peine d'étudier les possibilités de voir ce qui pourrait améliorer votre performance.
Renifleurs de code frontend
Bien que HTML n'a pas besoin d' un sniffer de code qui n'a pas empêché Squiz d'en construire un. Il est complètement open source et hébergé sur GitHub avec les options pour copier / coller du code dans le navigateur ou enregistrer un bookmarklet pour l'exécuter sur des pages Web individuelles.
Ce sniffer vérifie les trois niveaux de normes d'accessibilité A, AA et AAA des WCAG ainsi que les directives de la section 508 qui s'appliquent principalement aux sites Web gouvernementaux.
Les développeurs CSS pourraient aimer ce sniffer de code CSS gratuit qui est également open source, hébergé par le gestionnaire de paquets de nœuds.Les utilisateurs de jQuery devraient vérifier JSCodeSniffer construit par Dmitry Sheiko. C'est une autre application web gratuite hébergée sur GitHub qui est conforme au guide de style de code de jQuery.
Vous pouvez également essayer de lisser votre code JS avec JavaScript Lint ou JS Lint. Ces outils vérifient les erreurs de syntaxe plutôt que les normes de code, mais ils sont également très utiles en ce qui concerne l'optimisation du code frontal.Pour l'enregistrement, il est également possible de vérifier les standards JS / CSS directement avec PHP_CodeSniffer.
Le code PHP Sniffer
PHP_CodeSniffer est un outil indispensable dans votre toolbelt si vous cherchez à vous conformer aux standards du code PHP. Le paquet contient quelques scripts PHP qui analysent le code PHP, JS et CSS pour la conformité avec votre choix de documentation de style de code.
Le créateur de PHP_CodeSniffer, Greg Sherwood, a écrit une histoire merveilleuse sur la façon dont l'idée est née et les problèmes qu'elle tente de résoudre (cela vaut la peine d'être lu si vous en avez le temps).
En résumé, Greg travaillait avec une équipe d'apprentissage de JavaScript intégré dans une application PHP. Leur but était de structurer le JS d'une manière qui respectait les normes de code de PHP pour faciliter la transition entre les deux. Ainsi, PHP_CodeSniffer est né.
C'est génial pour les développeurs PHP parce que la langue est très lâche avec des exigences de style obligatoires . Les frameworks tels que Laravel sont plus stricts, mais les développeurs peuvent (et devraient) configurer leurs propres standards de code sans s'appuyer sur un framework tiers.Différentes normes comme PSR-0, PSR-1 et PSR-2 sont toutes populaires et emballées avec la bibliothèque de reniflage PHP.
Mais vous pouvez trouver beaucoup d'autres normes de code pré-faites pour PHP CMS 'comme WordPress, Magento et Drupal. Les développeurs du noyau Drupal ont même sorti un module de renifleur de code officiel nommé Coder.
PHP est sans aucun doute le langage le plus facile à optimiser avec les sniffers de code. Si vous cherchez une liste de normes de code PHP, consultez cette entrée GitHub.
Autres renifleurs de code backend
Les développeurs Backend travaillent avec une variété de langages au-delà de PHP et les chiffres augmentent chaque année. Avec des langages alternatifs, nous avons également des bibliothèques de reniflage de code alternatif comme le code-sniffer pour Python.
Il est possible de vérifier d'autres scripts en ligne ou d'utiliser des outils comme PyLint. Mais ceci est une autre méthodologie qui nécessite de la patience pour travailler dans votre flux de développement.
Ruby devs ont également une série de choix en ce qui concerne le pelage de code et l'analyse . Les meilleurs sont toujours libres et open source comme Ruby Lint, un analyseur de code statique construit pour le code Ruby moderne.Je n'ai pas encore trouvé de renifleur de code Node.js dédié mais j'espère qu'un projet apparaîtra avec le temps. Il y a des renifleurs de code JS qui supportent les standards Node, mais c'est toujours un langage de backend plus récent et il faut du temps pour se développer.
Enfin, nous utilisons la syntaxe SQL pour les bases de données. Ce code peut être plus compliqué car il est difficile de trouver des standards de syntaxe bien supportés pour le code source SQL. Mais j'ai trouvé une webapp de mise en forme SQL qui devrait s'avérer extrêmement utile lors de l'optimisation des requêtes de base de données.
Emballer
Le meilleur endroit pour commencer le reniflage de code est avec une langue et une norme. HTML / CSS est un endroit facile à démarrer pour les développeurs frontend alors que PHP est souvent un choix favori parmi les développeurs backend (en particulier les développeurs WordPress).
Et si vous voulez en savoir plus, consultez ces publications sur le reniflage de code, le lissage et l'analyse de code automatisée pour l'optimisation.
- Pourquoi avez-vous besoin de normes de codage
- Code Smells par Jeff Atwood
- Sniffer de code PHP: Installation et configuration
- Introduction à CodeSniffer (Partie 1)
- GitHub Showcase: Linters de code propre
L'influence de Microsoft Inclusive Design dans Visual Studio Code
La conception universelle ou inclusive est une nouvelle philosophie de conception Microsoft semble prendre très au sérieux dans le développement de logiciels récemment. La conception inclusive prend la conception accessible au prochain niveau, car elle considère l'accessibilité dans une perspective beaucoup plus large. Lors
Comment les médias sociaux évoluent et nous influencent [Op-Ed]
De la façon dont nous communiquons à la façon dont nous faisons des affaires, il y a un changement catalysé par les médias sociaux à chaque coin de rue. C'est la raison même pour laquelle les médias sociaux sont peut-être l'un des thèmes les plus recherchés et les mieux documentés de la dernière décennie . En fait, des