Je bosse sur un projet tout le long de l’année pour les cours, et je suis en train de découvrir durement les désastres du "Vibe-coding".

J’ai perso jamais touché à un LLM, mais on nous a fourni une base pour notre appli écrite par IA pour nous aider à nous lancer, après avoir vu au début du projet qu’il existait pratiquement aucune lib pour faire ce qu’on voulait.

J’ai tout de suite détesté, mais fait avec parce que j’étais le seul à être chafouin dans mon groupe et j’avais pas le temps de tout réécrire.

Déjà d’entrée de jeu, la complexité était dingue, alors que j’avais l’impression que ce qu’on faisait devait pas être aussi compliqué.

1 / 4

Vu que le projet est (sensé être) relativement simple, je m’en m’en sortait malgré tout, mais là je passe plus de temps à nager à contre-courant que de faire du code utile. Pourtant j’ai pas l’impression d’avoir touché une grosse partie du code…

Aujourd’hui, la dette technique est en train d’atteindre des proportions que j’ai jamais vu avant. C’est à un stade où on ne *peut pas* faire du code propre, on peut que faire des Hacks à la va-vite tellement y’a juste rien en place.

J’ai décidé d’étudier le détail ce qui a été écrit, pour essayer de comprendre où ça a merdé dans l’affaire, et bordel j’ai ouvert les yeux.

2 / 4

Y’a pratiquement aucune structure de donnée, tout est typé au pif (Python), et à part une lib qui aide au parsing de fichiers, aucune réelle abstraction est proposée.

L’architecture est dégueulasse. La majorité du code est dans un seul fichier de plus de 1 200 lignes, réparties dans quelques fonctions d’environ 100–200 lignes.

Y’a des classes qui servent à rien. Elles ont pas de propriétés, sont jamais dérivées, mais faut quand même instancier un objet pour taper dans une putain de fonction pure.

Y’a des fichiers qui sont ouverts, parsé, patchés, refermé plusieurs fois dans la même fonction,

3 / 4

Y’a du code mort dupliqué. J’ai jamais vu ça. Y’a une fonction qui est écrite, des wrappers qui demandent exactement les même arguments et les passent tel-quels sont défini 3 fois dans le fichier, et *absolument aucun* n’est utilisé dans toute la base de code.

Je crois que ce dernier c’est le pire. Je viens de supprimer 2 fichiers et pratiquement un quart du projet (en terme de volume de code), et j’ai retiré LITTÉRALEMENT AUCUNE feature.

Bref, je vais avoir un gros taff de refacto là, clairement.

Je m’étais contenté de faire du code propre dans les parties trop complexes pour que les autres y contribuent, mais là va falloir tout cramer.

4 / 4

Si je retiens un truc de l’histoire, c’est que si tu met en avant des IA pour du dev, tu devrais pas toucher à la MOINDRE ligne de code. Je veux plus jamais avoir à gérer ce genre de merdes.
@NuclearSquid moi ce que je retiens, c’est qu’il faut cramer les gens qui s’appuient sur cette merde gluante
@geobomatic En vrai ouais, valide. On peut en profiter pour générer un bout d’électricité avec la biomasse, histoire de pas faire de gâchis (c’est important l’écologie ^^)
@NuclearSquid @geobomatic Récemment, une connaissance n’a eu de cesse d’essayer de me convaincre de passer à l’IA, m’expliquant que ça me ferait gagner du temps, que ça me rendrait in fine plus compétitive, etc. La personne m’a également mise en garde (le pire étant qu’avec la mode actuelle, je pense qu’elle a raison) en me disant que trouver du boulot en tant que junior sans utiliser l’IA, désormais, c’est presque peine perdue.
@NuclearSquid @geobomatic Or quand je lis ça, bien que ça ne m’étonne pas, ça me conforte encore un peu plus dans l’idée que je n’ai rien à gagner à utiliser de l’IA.

@Poulpette @geobomatic
De ce que je vois, ça te fait gagner beaucoup de temps si tu sais pas coder (vu que les LLM sont très bon pour copier-coller du code trouvé sur le ’ternet — un peu fait pour ça, quoi — alors que toi t’as pas de culture technique donc tu sais pas quoi chercher), mais ça t’en fait perdre beaucoup au long terme si tu sais coder (parce que le code que ça te fait est juste impossible à maintenir)

PS : Ça fait gagner du temps si tu sais pas coder, mais je pense pas que tu puisses aller beaucoup plus loin qu’un petit script si tu te repose que sur ça, hein.

@NuclearSquid @geobomatic Pour faire une comparaison, à mes yeux, ça fait gagner autant de temps qu’apprendre à « jouer du piano » en recopiant note à note et par mimétisme un truc trouvé sur YouTube. Ça donne l’illusion de pouvoir sortir une pièce d’un certain niveau en « peu de temps », sauf qu’en sortant de là, on n’a toujours rien appris, on ne sait rien, et comme tu le signales, sur le long terme, ça fait plus de mal que de bien.

@Poulpette @NuclearSquid @geobomatic J'ai un ami développeur sénior, qui lui a une très bonne expérience des LLM. C'était intéressant d'échanger avec lui parce que c'est vraiment la seule voix de ce type que j'ai autour de moi. Il me dit qu'il gagne environ 30% dans une journée, que l'IA lui génère le code que lui aurait fait. Il fait très attention à bien lui dire de faire comme lui aurait fait et le résultat est là.

Il encadre une équipe de développeurs, et là en revanche ça ne va pas. Les gars lui disent "ça c'est écrit par l'IA" et ne regardent pas. Il passe une partie de ses journées à leur expliquer qu'ils sont responsables de la qualité du code...

La Fabrique à Idiots

YouTube