Côté écriture #
Il me reste encore pas mal de travail. Mais j’ai bien attaqué les corrections de L’Enfant des Esprits. Je n’étais pas loin d’être satisfaite lors de ma dernière relecture, alors j’ai bon espoir que cette fois sera la bonne. Quand le texte sera finalisé, il me faudra encore terminer la couverture du format papier avant d’envisager l’impression. À mon avis, ce ne sera pas prêt pour le Printemps des Viennes qui aura lieu en juin. Je n’ose plus non plus promettre que ce sera enfin prêt d’ici la fin de l’année, mais ce serait quand même pas mal. Voilà longtemps que je traîne ce projet, et j’ai hâte de pouvoir le présenter au public.
Côté web #
Il y a deux semaines, je vous parlais de mon travail de consultante, et je vous expliquais les approches que j’ai expérimenté durant ma carrière pour intégrer régulièrement la maintenance technique au temps de travail. Aujourd’hui, je voudrais vous parler des pratiques autour des règles de lint, car c’est un problème très courant que je rencontre chez mes clients. Les règles de lint sont des règles grammaticales qui permettent d’interdire certaines syntaxes au-delà de ce qui est autorisé par le langage de programmation en lui-même. Par exemple, ESLint est sans doute le linter le plus courant pour les projets web écrits en JavaScript.
Les frameworks frontend (comme Ember, Svelte, Vue, etc) proposent très souvent un plugin ESLint officiel qui permet d’appliquer à la base de code tout un panel de règles de lint relatives aux mauvaises pratiques qui pourraient malencontreusement être implémentées dans le code. Dans le cas de Ember, il s’agit de eslint-plugin-ember, si vous utilisez Svelte, c’est eslint-plugin-svelte, etc.
Assez souvent, à mesure que les frameworks évoluent et que de nouvelles approches apparaissent en web, d’anciennes pratiques sont dépréciées, de nouvelles recommendations émergent, et les règles de lint officielles de chaque framework sont mises à jour. Il peut être alors impossible pour l’équipe de développement de corriger tous les problèmes de lint d’un seul coup suite à une mise à jour. Une solution souvent utilisée par les équipes est alors de désactiver globalement certaines règles difficiles à traiter dans l’idée de « s’en occuper plus tard ». Malheureusement, cette approche a des conséquences malheureuses :
-
Si la désactivation n’est pas prudemment documentée, il devient impossible pour un·e développeur·euse qui n’a pas le contexte de savoir si une règle a été désactivée de manière permanente, volontairement, ou si c’est censé être temporaire.
-
Plus important, le problème pointé par la règle désactivée devient instantanément invisible. Pour corriger la règle, vous êtes contraint de la réactiver manuellement, de corriger le problème dans un certain nombre de fichiers, et de re-désactiver la règle si vous n’avez pas pu fixer tous les fichiers pour une seule pull request.
-
Enfin, tant que la règle est désactivée, vous n’avez plus aucune idée du nombre d’occurrences qu’il y a du problème qu’elle pointe. L’absence de notification au sujet des problèmes existants tend à diminuer la priorité de la correction pour l’équipe, ce qui entraîne une accumulation de dette technique sur la base de code.
Alors comment faire pour gérer l’apparition d’une nouvelle règle de lint avec beaucoup d’occurrences dans beaucoup de fichiers ? Je vous explique ça la semaine prochaine.
Côté jardin #
Le week-end dernier, j’ai participé au comptage des oiseaux sur le Lac d’Orient, organisé par la LPO. Compter des oiseaux sur un lac requiert de posséder une longue-vue, vous ne pouvez pas le faire avec des jumelles. Les jumelles permettent d’identifier les groupes d’oiseaux, d’évaluer grossièrement leur nombre, et éventuellement de les compter lorsqu’ils sont suffisamment proches. En revanche, pour compter de manière plus précise les spécimens éloignés, les limites des jumelles sont très vite atteintes et vous avez besoin d’une longue-vue. Même la longue-vue est parfois un peu limite si les oiseaux sont vraiment loin, surtout quand les espèces partagent des caractéristiques et sont difficiles à différencier.
Si le comptage a lieu en hiver, il faut ajouter quelques trucs supplémentaires à votre panoplie d’ornithologue : de quoi vous couvrir. Prenez des vêtements chauds, n’oubliez pas vos oreilles : bonnet ; n’oubliez pas votre nez : écharpe ; n’oubliez pas vos pieds : chaussures imperméables ; et surtout ! n’oubliez pas (comme j’ai fait) vos mains : gants. Car pour compter les oiseaux, il va falloir tenir vos jumelles et tourner constamment votre longue-vue, il n’est donc pas question de rester les mains dans les poches, à moins que vos capacités de télékinésiste vous permettent de déroger à cette contrainte. Près des lacs, le vent froid peut être littéralement brûlant, ne prenez pas la météo à la légère dans une tenue trop légère.
Côté culture #
Je ne sais pas vraiment comment on en est arrivés là, mais avec mon partenaire, on vient de finir la deuxième saison des Petits Meurtres d’Agatha Christie. Finalement, c’est assez prenant, et on s’attache à certains personnages. Pour le dernier épisode de la saison, ils se sont lâchés et ont créé toute une série de chansons. Voilà trois jours que mon cerveau reste bloqué sur « Carmouille, t’es qu’une andouille. Viens me chercher ».
À toute fin utile #
Ma technique personnelle de propriétaire de chat pour éviter de me faire embêter quand je travaille : j’ai un panier douillet pour chat sur mon bureau. Le résultat est très satisfaisant, mais gardez quand même l’ordinateur portable fermé quand vous partez refaire le plein de café si vous ne voulez pas envoyer kjl;mmmmkjl;; à vos collègues sur Slack.