Trolldi : comment écrire du code non maintenable et qui vous assurera un travail à vie ?Sur un ton satirique, le développeur Roedy Green s’est proposé de transmettre son savoir dans l’écriture d’un code qui donnerait des sueurs froides au développeur qui viendra faire la maintenance. Son illustration est axée sur la programmation Java.
« Je vous transmets les conseils des maîtres sur la façon d'écrire du code si difficile à gérer, qu’il faudra des années aux personnes qui vont en assurer la maintenance pour effectuer les changements les plus simples », promet-il.
Et de poursuivre en disant « De plus, si vous respectez toutes ces règles religieusement, vous vous garantissez même une vie d’emploi, car personne, sauf vous, ne pourra espérer maintenir le code. D’ailleurs, si vous suiviez toutes ces règles religieusement, vous même ne seriez pas en mesure de maintenir le code ! »
Bien entendu, cela doit rester un art. Votre code ne doit pas sembler impossible à maintenir de prime abord, sinon il risque simplement d’être réécrit.
Principes généraux
Pour mystifier le développeur qui va effectuer la maintenance, vous devez comprendre comment il pense. Face à lui se tient votre programme géant. Il n'a pas le temps de le lire en entier, encore moins de le comprendre. Il veut rapidement trouver l’endroit où effectuer une modification, la faire et s’en aller tout en espérant ne pas avoir d’effets secondaires inattendus.
Il est donc question de l’empêcher d’avoir une vision d’ensemble. Vous voulez donc qu’il soit plus difficile pour lui de trouver le code qu'il recherche. Mais plus important encore, il faut que ce soit tellement difficile qu’il ne puisse pas ignorer quoique ce soit.
Pour réussir cet exercice, il donne quelques conseils : « Les développeurs sont plongés dans la complaisance par les conventions. Mais de temps en temps, en violant subtilement la convention, vous les forcez à lire chaque ligne de votre code avec une loupe ».
Vous pourriez avoir l’idée que toutes les fonctionnalités de langage rendent le code impossible à maintenir, ce qui n’est pas le cas si elles sont mal utilisées.
Trolldi : comment certains auteurs et développeurs voient-ils les langages de programmation ?
En littérature, les citations peuvent servir de phares dans l’obscurité ; certains auteurs partagent les leçons qu’ils ont tiré des expériences, d’autres viennent exposer des constats, etc. En somme, les citations servent différents buts et ne sont pas forcément perçues de la même façon. Pour rester dans l’esprit du Trolldi, voici une liste de citations proposées par des personnes plus ou moins célèbre dans l’industrie IT. Attention, un/des intrus s’est/se sont glissé(s) parmi elles, saurez-vous le(s) reconnaître ?
Être indépendant peut vous offrir certains avantages comme la flexibilité dans votre emploi du temps. Mais cela demande également de la discipline que certains trouvent difficile à maintenir lorsqu’ils n’ont pas de compte à rendre à un supérieur hiérarchique. C’est à cette catégorie de personnes que le Boss-as-a-Service s’adresse.
L’idée part d’un constat : « Avez-vous remarqué que lorsque vous êtes supervisé par une personne, vous travaillez toujours, presque en pilote automatique ? Vous ne manquez jamais une échéance client ou une échéance au travail. Et pourtant, vous semblez toujours manquer vos propres échéances. Alors, que pouvez-vous faire pour créer le même genre de pression que vous auriez au travail ? Si vous n'avez pas de chef, engagez-en un ».
Une plateforme qui n’est pas faite pour tout le monde
Comme expliqué dans sa FàQ, Boss as a Service n'est certainement pas indiqué pour tout le monde. Certaines personnes travaillent bien sans que personne ne les surveille. Certains d'entre nous, cependant, ont besoin d'un « coup de pied dans le derrière ».
Si l'un des scénarios suivants vous est familier et que vous avez hoché la tête en disant « Ouais, je m’y reconnais », alors vous êtes un client potentiel :
- Vous êtes un procrastinateur chronique, mais vous travaillez bien lorsqu'il y a une échéance imminente. Travailler toute la nuit avant un examen ou une échéance importante est ce que vous feriez ;
- Vous avez remarqué que vous êtes plus productif lorsque vous devez rendre compte à une équipe ou à un superviseur, mais en tant que pigiste, fondateur ou étudiant, vous devez effectuer beaucoup de travail indépendant.
- Vous luttez avec du temps non structuré, et la loi de Parkinson est votre triste réalité.
« Boss en tant que service n’est pas pour vous si vous ne souhaitez pas vraiment augmenter votre productivité. Si vous ne vous y engagez pas, nos suivis et nos questions vous ennuieront probablement. Nous vous obligeons à faire face à vos mauvaises habitudes de travail et à vos manquements. Cela peut parfois être un peu désagréable - personne n'aime se faire rappeler qu'il a sauté la salle de gym au cours des 2 dernières semaines - mais il est nécessaire que nous le fassions ! Si ce n'est pas ce que vous attendez de nous, alors vous n'aimerez pas cela », prévient l’équipe.
Qu'auriez-vous aimé savoir avant de vous lancer dans une carrière de développeur ?
Il arrive que nos aspirations pour le futur nous vienne de notre environnement (le papa qui travaille en tant que médecin par exemple), d'un film (Chloé O'Brian est tellement forte qu'elle peut taper le code pour lancer les missiles nucléaires du monde entier en tapant son code avec ses orteils tout en prenant son café) ou autres. Mais à quel point sommes-nous préparés ?
Dans un billet humoristique, l'ingénieure...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.