Configurer PHPStorm pour maximiser la qualité de votre code

Flattr this!

Exceptionnellement, je vous proposerai de télécharger un fichier. Celui-ci :

[Lien provisoirement supprimé]

C'est quoi ce truc ?

Un fichier de configuration pour PhpStorm/WebStorm. Il permet de définir correctement des règles d'édition de code pour PHP et JavaScript.

Comment les règles ont été définies ?

Bien évidement, je n'ai pas décrété ces règles de façon totalement arbitraire. Je me suis conformé aux règles attendues par les conventions Zend Style et JSLint ainsi que JSHint.

J'ai créé ce fichier pour permettre à mon équipe de remettre d'aplomb leur code et de valider les règles que nous avons défini pour Jenkins. PhpMessDetector, PhpCheckStyle et JSLint sont donc de la partie.

L'essentiel de l'apport de ce fichier se situe dans deux composantes :

  • Le style de code ;
  • Les alertes.

Le style de code

En exécutant bêtement et simplement une auto-indentation du code, vous remettrez vos fichiers au plus proche de ce que les normes citées attendent. Des petites améliorations telles que :

  • le nombre d'espaces exact en début de ligne, avant et après les ifférents symboles de ponctuation ;
  • la position des accolades (PHP et JS ont des différences);
  • le nombre de retours à la ligne cumulés ;

Les alertes

Évidement, je ne peux pas tout configurer et corriger via l'indentation de code. Donc j'ai activé les rapports JSLint et JSHint en mode nazi.

Vous allez voir vos scripts devenir tout rouge (enfin peut-être). Mais ça vaut le détour vu que votre code en ressortira qualitativement plus qu'amélioré.

Pour exemple, JSHint râlera quand vous n'aurez pas mis en cache vos sélecteurs jQuery en vous signalant les doublons de sélecteurs. Aide extrêmement précieuse n'est-ce pas 😉

Conclusion

Bien sur, c'est totalement subjectif. C'est à dire que c'est la configuration qui correspond le mieux à mes attentes. Je ne dis pas que c'est comme ça qu'il faut coder mais que c'est comme ça que j'aime coder. Faites-en ce que vous voulez, ceci est purement à titre indicatif 😉

Flattr this!

A propos de Mathieu

Ingénieur développeur web dans la vente par correspondance B2B, adepte de nouvelles technologies et d'innovation. Vous pouvez aussi me retrouver sur Twitter @mathrobin
Cette entrée a été publiée dans Dev. Web, avec comme mot(s)-clef(s) , , , , , , , , . Vous pouvez la mettre en favoris avec ce permalien.
  • http://chez-syl.fr Syl

    Salut Mathieu, merci pour cette info je ne connaissais pas. :)

    Un peu hors-sujet mais je cherche un outil qui permet de faire une suite de tests automatiques sur un formulaire.
    Exemple : j’ai un formulaire assez complexe, à chaque fois que je modifie une virgule, il faut se retaper tous les tests (champs vides/obligatoires, format de la réponse etc). J’aimerais pouvoir faire ceci de manière automatique, si ça existe.
    J’ai vu ceci https://github.com/guillaumepotier/Parsley.js/tree/master/tests je ne sais pas si ça peut correspondre. J’y connais rien dans le domaine. :)

    Aurais-tu de ton côté des éléments de réponse ?

    Merci en tout cas.

    Syl

    • http://www.mathieurobin.com/ Mathieu

      Justement, j’ai développé un moteur de tests qui permet de faire ça, je comptais en parler dans les jours à venir, le temps de mettre au propre le dépôt GitHub. Laisse moi quelques jours ou dis-moi si tu n’as pas le temps d’attendre.

      • http://chez-syl.fr Syl

        Ok tant mieux. Oui bien sûr je peux attendre. 😉
        A bientôt !

  • Cyrano

    Salut, ça fonctionne pas partout ton fichier on dirait.
    J’ai droit à « Error: Invalid or corrupt jarfile, D:\….\setting-phpstorm.jar »
    Est-ce que ça peut être lié à l’OS ? Dans mon cas, Windows 7 64b.

    • http://www.mathieurobin.com/ Mathieu

      Ça me surprendrait que ça vienne de l’OS mais bon peut-être. T’as bien utilisé la méthode « Import settings » dans le menu « File » ? (simple vérification)

Articles liés