Je lis du code généré
Salut les moules
J'écris souvent ; rarement ici.
J'ai depuis quelques semaines le bonheur de suivre quelques devs débutants, ou aspirants devs. Je lis donc du code généré, ma joie est grande. Je profite de ce vendredi pour partager avec vous mes impressions. L'incubateur d'excellence qu'est DLFP aura, si je suis chanceux, d'autres retours d'expérience à partager.
C'est propre.
Plus propre que du code humain. Trop propre. Ce que tu gagnes en lisibilité, tu le perds en concision, en expressivité et en sens. Au fond, rien ne change. Le code décrit le comment, alors que ce qui m'intéresse reste le pourquoi.
Il n'y a évidemment pas de tests. Rien à voir avec la génération. De toute façon il faudra tout reprendre pour intégrer un vrai dispositif de tests, condition nécessaire pour que je fasse confiance au programme.
Le code généré se repère immédiatement: fonctions bien nommées, formatage impeccable, docstrings qui brillent, noms de variables trop précis, aucune variable a, b, x, tmp, out, typage strict des entrées et sorties etc. Un niveau de détail souvent trop fin, l'inverse d'un code en cours d'écriture.
Cette forme parfaite est trompeuse.
Tu crois que le code fait le travail. Peut-être au niveau micro, les fonctions sont surement correctes. Au niveau macro, macache. Alors comment être sûr que ce code fait ce qu'il annonce ? En découplant les fonctions et en le disséquant pièce par pièce.
C'est certes plus agréable à lire, mais tu perds un indicateur essentiel. La maturité disparaît. La forme est standardisée. Il n'y a plus de code smell, plus de style, plus de rugosité. Comment juger du fond uniquement à la lecture ?
Certains codes écrits n'importe comment se repèrent au premier coup d'œil. C'est une alerte. Pas de structure, fonctions fleuves de 100 lignes, pas de séparation fond/forme. Un brouillon intégral. Et les brouillons doivent être réécrits.
Le même code, rédigé proprement, structuré, soigné, fera tout aussi n'importe quoi donnera l'impression que c'est pensé. L'impression d'une intention, de la crasse propre.
De la crasse propre ?
Oui mais c'est trolldi, alors je vous en prie.
Avec le code généré, tu perds la possibilité de juger sur l'apparence. Plus de style, plus de subtilités, plus de petites variables piégées. Si tout est bien nommé, comment repérer ce qui compte vraiment ?
Avec ce code aseptisé, je vais peut-être perdre du temps.
Ou pas.
(publié ici aussi)
Commentaires : voir le flux Atom ouvrir dans le navigateur
