Microsoft-ui-xaml: Question : Pourquoi pas d'analyseurs de code (ou de linters) pour la base de code ?

Créé le 25 juil. 2019  ·  3Commentaires  ·  Source: microsoft/microsoft-ui-xaml

Sur la base du nombre de commentaires sur ce PR qui concernent le style de base et le formatage du code, j'ai été surpris de voir qu'aucun analyseur (ou équivalent) n'est configuré pour vérifier automatiquement les problèmes tels que l'utilisation des espaces blancs ou les conventions de dénomination.

Y a-t-il une raison pour laquelle ils ne peuvent pas être ajoutés ?

Il y aurait deux avantages immédiats :

  1. Le code serait formaté de manière cohérente, ce qui facilite la lecture, la compréhension et la maintenance.
  2. Cela signifierait que les revues de code ne sont pas distraites par des problèmes triviaux et peuvent se concentrer sur le code. Cela peut réduire le nombre de commentaires de code et empêcher que des problèmes précieux ne se perdent parmi les multiples discussions sur les lignes vides.

L'inconvénient de l'ajout de ces contrôles de formatage automatiques peut être que le code existant ne répond à aucun ensemble de règles et donc l'activer signalerait un grand nombre de problèmes.
Si tel est le cas, les règles peuvent être activées (ou des analyseurs ajoutés) lorsqu'un projet est autrement modifié (ou ajouté) afin que tout ne soit pas fait en même temps.
Alternativement, les incohérences de formatage sont normalement faciles à corriger et cela ne peut donc prendre que quelques heures (sur la base de mes expériences passées avec d'autres grands projets) pour résoudre ce qui est trouvé car l'outillage peut normalement corriger automatiquement la plupart d'entre eux et ce ne sont donc que des exceptions qui ont besoin de manuel intervention ou révision.
Ce n'est pas le travail le plus excitant à faire mais il apporte de la valeur au fil du temps.
La couverture du code existant devrait en faire un changement à faible risque.

question

Tous les 3 commentaires

Je suppose que l'éditeur de configuration pourrait être amélioré ou FxCopAnalyzers peut-être ajouté.

Je pensais à StyleCop.Analyzers pour le code C#. Je ne sais pas ce qui est le mieux pour C++ cependant.

Je ne sais pas ce qui est le mieux pour C++ cependant.

@RanjeshJ travaille à faire en sorte que clang-tidy et clang-format s'exécutent sur la base de code et je pense que cela devrait aider pour C++. MSVC n'a tout simplement pas un bon linter d'après ce que nous avons vu.

Pour C#, il y a les nouveaux éléments de editorconfig que nous avons mis en place et qui devraient prendre effet dans les fichiers C#. S'il y a plus de trucs stylistiques pour C# qui doivent être ajoutés là, nous pouvons le faire. Et puis si quelque chose comme StyleCop pouvait aider à aller encore plus loin, nous pouvons également le faire. Mais je n'ai pas vu autant de picotements en C#, donc je pense que l'éditeur de configuration fait principalement son travail.

Cette page vous a été utile?
0 / 5 - 0 notes