Je n’ai pas écris d’article depuis la semaine dernière parce que j’ai profité d’un sprint plus léger pour lancer un refactoring d’une partie de l’application Windows Mobile du boulot, refactoring qui était vraiment nécessaire. Cela m’a pris la semaine pour écrire un code plus clair, plus robuste et plus rapide. Ça n’a pas été évident, mais le résultat en vaut la peine, tant pour l’équipe qui aura un meilleur outil que pour moi qui a acquit de l’expérience. Je ne vais pas faire tout un topo sur ce qu’est le refactoring et sur ses bienfaits puisque de nombreux sites s’en chargent déjà très bien. Je vais plutôt détailler un cas pratique.
Aujourd’hui, c’est le chapitre La commodité n’est pas une qualité que je vais traduire, comme sa licence Creative Commons Attribution 3.0 me le permet. Il a été écrit à l’origine par Gregor Hohpe.
C’est une astuce que j’avais trouvé il y a quelques temps déjà en écrivant un tutoriel sur RAII en C++, mais que j’ai envie de partager avec vous parce que c’est simple mais astucieux. Grâce à un lambda, on peut initialiser une variable déclarée constante, alors que sa valeur dépend d’une condition.
Connais-tu la réunionite, cette maladie mentale consistant à organiser constamment des réunions à 95% improductives ? Notre entreprise , avec ses mauvaises pratiques, n’est pas épargnée, bien entendu. Non contente d’organiser des réunions de 30-45 min appelées « sprint », des réunions de planification toutes les semaines, des réunions d’avancement et autres réunions où l’on se gargarise de faire avancer les choses alors que non, cette chère boite organise des réunions où elle présente aux développeurs les différents pôles (marketing, RH, etc).
En soit, rien de bien dramatique, me direz-vous. Mais voilà, ces réunions sont organisées tous les 6 mois, avec environ 6 réunions d’1h30 (une pour chaque pôle), et les organisateurs n’étant pas fichus de savoir qui y a déjà assisté ou non, tout le monde est convié. Donc, dans une boîte où les projets sont constamment en retard et où les développeurs sont constamment interrompus par des conditions de travail lamentables, on préfère leur prendre 1h30 de temps précieux pour les envoyer en réunion écouter le même bla bla inintéressant que 6 mois plus tôt.
Et si par malheur tu n’as pas pris le temps de répondre au mail d’invitation à la réunion, ô combien si important, tu as N+3 qui passe dans le bureau te rappeler son existence (alors que jamais N+3 ne passe dire bonjour d’habitude) et N+2 qui envoie un mail cinglant rappelant les « règles de bienséance » et que la réunion commence dans 5 min. Autrement dit, des menaces à demi-mots.
Un grand merci notamment à tous les contributeurs du projets, et plus largement à tous les contributeurs du monde libre. Grâce à vous, moi qui avait besoin des limites administratives de quelques communes, j’ai pu les récupérer en toute simplicité et les convertir dans les formats que je souhaitais. En particulier, je veux citer les outils suivants.
- Ce site OSM Bondaries qui permet de récupérer sous plusieurs formats (dont du JSON) les limites de communes, départements, régions et ce pour de nombreux pays.
- Cet outil GeoConverter qui permet de transformer un fichier en plein de sorties, dont le .klm.
- Cet article de Konrad Lischka qui cite les deux outils précédents.
- Et enfin le projet OpenStreetMap en entier, pour la qualité et la liberté des données.
Le partage de connaissances et de données est vraiment quelque chose d’important et je suis fier d’y contribuer, par mes écrits sur ZdS, par ce blog et par la participation, j’espère bientôt, à des projets open-source.
MERCI À TOUS !