Je réponds aux 2 commentaires. J'ai commencé par "sur certains projets persos", donc ça dépend fortement du projet.
Le temps de compilation du projet où j'ai repris ce morceau de code est de l'ordre de 30 secondes donc c'est tout à fait acceptable. Avant de mettre en place ce système, on avait des problèmes du type "putain, il a oublié un fichier dans son commit, il a tout cassé" ou encore "bon allé, faut vraiment qu'on dégage tous les warnings, qui s'en charge ?". Au final, le temps perdu (30s par commit) est largement compensé par le temps économisé (attente que le contributeur revienne pour qu'il ajoute le fichier manquant, ou revert de ses derniers commits) ou sur la qualité du code (tu essayes de faire un joli commit qui compile sans warning, adieu le : "ouais bon, je corrigerai les warnings plus tard").
Sur des projets non persos, j'ai déjà vu dans de grosses boites un check avec un linter avant chaque commit. Et le faire avant que le code ne soit versionné est bien sûr contraignant car il empêche d'avancer, mais il permet aussi de ne pas avoir à y revenir.
La méthode que tu décris est bien sûr meilleure mais ce n'est pas applicable à chaque projet.
[^] # Re: Les warnings
Posté par Maxime (site web personnel) . En réponse au journal compiler en c++ pour avoir plus de warnings. Évalué à 2.
Je réponds aux 2 commentaires. J'ai commencé par "sur certains projets persos", donc ça dépend fortement du projet.
Le temps de compilation du projet où j'ai repris ce morceau de code est de l'ordre de 30 secondes donc c'est tout à fait acceptable. Avant de mettre en place ce système, on avait des problèmes du type "putain, il a oublié un fichier dans son commit, il a tout cassé" ou encore "bon allé, faut vraiment qu'on dégage tous les warnings, qui s'en charge ?". Au final, le temps perdu (30s par commit) est largement compensé par le temps économisé (attente que le contributeur revienne pour qu'il ajoute le fichier manquant, ou revert de ses derniers commits) ou sur la qualité du code (tu essayes de faire un joli commit qui compile sans warning, adieu le : "ouais bon, je corrigerai les warnings plus tard").
Sur des projets non persos, j'ai déjà vu dans de grosses boites un check avec un linter avant chaque commit. Et le faire avant que le code ne soit versionné est bien sûr contraignant car il empêche d'avancer, mais il permet aussi de ne pas avoir à y revenir.
La méthode que tu décris est bien sûr meilleure mais ce n'est pas applicable à chaque projet.