Journal Une petite histoire positive sur l'Open Source et le partage

Posté par  (site web personnel) . Licence CC By‑SA.
42
24
juin
2026

Demat'iNal,

En fin de semaine dernière, alors que je faisais un petit patch de modernisation du code de Firefox, une relectrice a pointé du doigt que depuis C++20, je pouvais utiliser std::remove_cvref_t<...> au lieu de std::remove_cv_t<std::remove_reference_t<...>>.

Elle avait bien sûr raison, ça donne un code plus agréable à lire. Et comme je joue pas mal avec clang-tidy ces derniers temps, je me suis dit « mais généralisons cette règle », comme ça on pourra l'appliquer à la base de code toute entière automatiquement et garantir l'absence de régression.

Aussitôt vim, aussitôt fait, PR ouverte en début de semaine et acceptée aujourd'hui. Le patch pour Firefox est dans les tuyaux également.

Tous ces changements sont bien mineurs, et il n'y a pas de quoi en faire un flan, mais l'histoire est jolie : en un tour de semaine, une remarque de relectrice est généralisée dans un outil dont tout le monde peut profiter.

Et je ne peux m'empêcher de remarquer que si un tout autre outil appartenant à une classe de programme ayant le vent en poupe actuellement aurait pu faire le travail, l'approche illustrée dans ce journal a l'avantage d'être :

  • déterministe
  • reproductible
  • open-source
  • gratuite
  • gratifiante à développer

no sooner said than done

vim

  • # Joli travail, effectué avec élégance

    Posté par  (site web personnel, Mastodon) . Évalué à 5 (+3/-0).

    Ça c'est une bonne pratique, de contribuer aux couches qui correspondent le mieux au problème à résoudre.

    Souvent, quand il y a des bugs dans une bibliothèque, c'est plus facile de se dire : je vais contourner le bug dans mon code, même si c'est vraiment pas propre. Eh bien, il y a moyen de mieux faire, au minimum rapporter le bug dans le projet amont est déjà une première étape.

    Donc, ce journal illustre qu'il y a moyen de bien faire les choses :-)

    (bon OK, contribuer à LLVM/Clang n'est pas donné à tout le monde, mais en commençant par lire et modifier un peu le code d'une petite bibliothèque bien documentée mais avec l'un ou l'autre bug, ça peut être un bon point de départ).

  • # Merci !

    Posté par  . Évalué à 3 (+3/-0).

    Merci pour ce partage d'expérience des coulisses du développement de Firefox !

    La compréhension du patch ne semble pas à la portée d'un amateur mais au moins ça nous montre tous le processus de validation et de collaboration au sein de l'équipe.

    Je découvre par ailleurs Phabricator. Serait-il possible d'en savoir plus sur cet outil  ?

    • [^] # Re: Merci !

      Posté par  (site web personnel) . Évalué à 4 (+2/-0).

      Phabricator est un outil de revue de code que j'ai croisé par deux fois : il était utilisé par LLVM avant son passage à Github comme l'explique l'ancienne url

      Mozilla maintient un fork de l'outil dont le support n'est plus garanti upstream. Un scenario d'usage classique est la soumission de patch à travers un outil en ligne de commande (historiquement arcanist), la relecture de code via une interface web, la possibilité de suivre les différentes révisions d'un patch de manière claire (les commentaires sont attachées à chaque version), de créer des patchset.

      Il est possible de créer des règles pour gérer qui revoit un patch en fonction des fichiers touchés etc. Du point de vue utilisateur, c'est un chouette outil. Je n'ai pas d'avis sur la partie administration.

  • # Petite coquille (une coquillette ?)

    Posté par  (site web personnel) . Évalué à 2 (+0/-0).

    Le billet mentionne std::remove_cv_ref_t mais il fallait bien sûr lire std::remove_cvref_t. Et il manque un espace après le «  ^^!

  • # Douche

    Posté par  . Évalué à 5 (+3/-0).

    Je n'ai rien d'intelligent à dire sur cette performance (à part "merci"). Donc je relève cette coquille très drôle dans les échanges sur le patch de Firefox :

    let me douche-check this aspect.

    C'est quand tu check si ça a l'aspect d'un douche-bag ou bien ?

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.