Quel est le pire bout de code que vous ayez écrit ?
En avez-vous eu honte et pourquoi ?

Le , par Gordon Fowler, Expert éminent sénior
Un professionnel sérieux se reconnaît au fait qu'il sait évaluer son travail et reconnaître ses erreurs.

Autrement dit, un développeur réfléchi est celui qui sait quand il écrit un code efficace, ou beau et qui répond aux besoins de l'utilisateur ou du client. Mais il sait aussi quand c'est exactement le contraire.

Ihssen, développeur web et membre de la rédaction de Developpez.com, n'a par exemple pas mis longtemps à avouer, non sans une certaine gêne, avoir écrit une application Web communautaire, riche en fonctionnalités... « mais sans avoir la moindre idée sur le concept de jointures en SQL ».

« Pour chaque liste d'affichage, les scripts empilaient donc une ou plusieurs requêtes supplémentaires pour chaque ligne issue de la requête principale. N + 1 était la règle, mais sur plusieurs modules on pouvait trouver des tas de requêtes de type N * M + 1 », explique-t-il.

Au final le site a pourtant fonctionné d'une manière plutôt robuste durant plusieurs années, « mais son serveur dédié a du souffrir. Heureusement qu'il y avait de la pagination ! ».

Autre horreur, Hinault Romaric, lui aussi rédacteur sur Developpez.com, se souvient que « son pire code était pour une petite application de gestion dans le cadre d’un premier stage en entreprise. Le code était bourré des concaténations de chaînes pour les requêtes SQL et de déclarations de variables sans aucune normalisation. Il n’était pas du tout optimisé (utilisation par exemple des if où des switch auraient été suffisants) et encore moins commenté».

Et de conclure « lorsque je tombe parfois sur ce code dans mes archives, il me fait aujourd'hui bien rigoler ». Mais pas à l'époque.

Après avoir abordé le sujet des pires bouts de code que vous ayez vus, et les développements dont vous êtes le plus fier, il nous a paru juste et légitime de vous demander aujourd'hui de confesser vos petites hontes.

Alors, vous ? C'était quoi votre pire bout de code ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Mishulyna Mishulyna - Traductrice https://www.developpez.com
le 30/09/2011 à 17:40
Citation Envoyé par pyros  Voir le message
#define private public avant d'inclure un .h.

Comme l'a dit un collègue, c'est comme ça qu'on devient délinquant
Le pire c'est qu'on avait cherché, mais on n'avait pas trouvé d'autre solution...

Chapeau, j'aurais jamais pensé à ça!
Avatar de zeyr2mejetrem zeyr2mejetrem - Membre chevronné https://www.developpez.com
le 30/09/2011 à 17:59
Citation Envoyé par pyros  Voir le message
#define private public avant d'inclure un .h.

Comme l'a dit un collègue, c'est comme ça qu'on devient délinquant
Le pire c'est qu'on avait cherché, mais on n'avait pas trouvé d'autre solution...

RAAAAAAAAAAAHHHHHHHHHHH, Je suis aveugle !!!!!
Avatar de Mishulyna Mishulyna - Traductrice https://www.developpez.com
le 30/09/2011 à 18:44
Citation Envoyé par zeyr2mejetrem  Voir le message
RAAAAAAAAAAAHHHHHHHHHHH, Je suis aveugle !!!!!

Non, vous êtes peut-être un peu hypocrite! Votre pire bout de code SVP? ca peut toujours aider des vieilles étudiantes comme moi... Merci!
Avatar de galyathee galyathee - Membre du Club https://www.developpez.com
le 30/09/2011 à 20:19
Le pire que j'ai eu à écrire était un algo d'optimisation de place pour des produits laitiers dans un rayon en fonction de critères tels que: poids, prix, niveau d'affichage, coefficient de casse, promotion, etc ... j'ai dû me remettre aux transformations de matrices.

Sinon dans le genre gestion de pile "facon" binaire où on range des 0 et des 1 et la table est "par défaut" initialisée avec des zéros, cherchez l'erreur:

template <class T, int K>
class pileBin {
T bin[K];
public:
void insert (int x, T value);
};

template <class T, int K>
void pileBin<T,N>::insert (int x, T value) {
bin[T]=x;
}

-> c'est bin[x] = T bien évidemment ... sinon on n'insert que dans les 2 premières case!
Avatar de - https://www.developpez.com
le 02/10/2011 à 5:15
J'ai appris la programmation en commencant par le C. Un jour je suis arrivé à un TP ou il faut réaliser le jeux mario sokoban.

J'ai programmé ce jeux en mettant tout mon code dans la fonction main...
Avatar de SurferIX SurferIX - Membre chevronné https://www.developpez.com
le 02/10/2011 à 9:39
Citation Envoyé par cedrix57  Voir le message
J'ai appris la programmation en commencant par le C. Un jour je suis arrivé à un TP ou il faut réaliser le jeux mario sokoban.

J'ai programmé ce jeux en mettant tout mon code dans la fonction main...

Pas mal... en parlant de C : mes pires bouts de code sont toujours d'actualité, mes pour mes projets personnels. J'ai un (grave ) problème avec les pointeurs en C, et faire des copies de quelque chose qui n'est pas un pointeur me gêne, alors tout mon code, systématiquement, passe par des pointeurs, même pour copier de même structure à même structure, genre :

Code : Sélectionner tout
1
2
3
    if (psrc != &((*ptabgroup)[*len])) { 
        memcpy(psrc, &((*ptabgroup)[*len]), sizeof(struct cell_group)); 
    }
Alors que peut-être :

Code : Sélectionner tout
1
2
3
    if (psrc != &((*ptabgroup)[*len])) { 
        psrc[0] =(*ptabgroup)[*len]; 
    }
fonctionnerait (ou quelque chose comme ça), c'est à dire entre 2 et 500 fois plus lisible et maintenable. Mais bon comme c'est pour mes projets personnels, je ne m'en tiens par personnellement grief
Avatar de galien galien - Membre averti https://www.developpez.com
le 06/10/2011 à 20:01
Mes pires bouts de code... ceux que je relis quelques temps après, non commentés, as usual^^
Avatar de ernestrenan ernestrenan - Membre régulier https://www.developpez.com
le 08/10/2011 à 16:27
Un algo qui devait "optimiser" les parcours d'un graphe en fonction du "type" du graphe en choisissant le meilleur algo à chaque fois. On s'est retrouvé à faire des produits de matrices par paquets de cents (en c donc pas du tout optimisé pour ça) pour determiner le type du graphe. Et l'algo d'optimisation avait une complexité supérieure à celle des algos de parcours de graphe "generaux".
Avatar de Marauder Marauder - Membre régulier https://www.developpez.com
le 26/10/2011 à 8:37
Bonjour,

La pire ligne jamais rencontrée dans ma carrière :

if ((a==0) || (a==1) || (a==2) || (a==3) || (a==4) || (a==5) || (a==6) || (a==7) || (a==8) || (a==9) || (a==10) || (a==11) || (a==12) || (a==13) || (a==14)|| (a==15)|| (a==16)|| (a==17)|| (a==18)|| (a==19) )
{
}
Si si.. vérédique

J'ai aussi vu une génération de requete sql en fonction de 6 cases à cocher.
64 IF à la suite balayant toutes les possibilités des cases à cocher...

Sans oublier le fabuleux :
SI condition
Faire quelquechose
SINON
Faire pareil
Avatar de pyros pyros - Membre éprouvé https://www.developpez.com
le 26/10/2011 à 8:53
Le compilo (GLSL sur certains drivers) n'aimait pas la syntaxe:
Code : Sélectionner tout
1
2
3
 
if ( toto ) 
  doSomething();
Des fois ça passait, des fois pas. Même avec accolades, s'il n'y avait qu'une ligne dans la condition le compilo buggait sans raison. Il a fallu remplacer tous ces tests par:
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
 
if ( !toto ) 
{ 
  ;// NOTHING 
} 
else 
{ 
  doSomething(); 
}
Pour la lisibilité du code, VDM...
Avatar de satenske satenske - Membre confirmé https://www.developpez.com
le 31/10/2011 à 12:18
Citation Envoyé par Marauder  Voir le message
Bonjour,

La pire ligne jamais rencontrée dans ma carrière :

if ((a==0) || (a==1) || (a==2) || (a==3) || (a==4) || (a==5) || (a==6) || (a==7) || (a==8) || (a==9) || (a==10) || (a==11) || (a==12) || (a==13) || (a==14)|| (a==15)|| (a==16)|| (a==17)|| (a==18)|| (a==19) )
{
}
Si si.. vérédique

Waw, joli! En plus fallait être motivé pour tout écrire....

Moi, je sais pas trop, juste pour le fun une fois en TP de C parce que j'avais fini en avance, j'ai fait un #define lol ;

Et bien, ça fait un très joli kikoo language !
Sinon, bien sûr, les premiers codes que j'avais écrit, toujours rigolo à relire !
Offres d'emploi IT
Ingénieur intégration, validation, qualification du système de drone H/F
Safran - Ile de France - Éragny (95610)
Data scientist senior H/F
Safran - Ile de France - Magny-les-Hameaux (Saclay)
Ingénieur développement fpga (traitement vidéo) H/F
Safran - Ile de France - 100 rue de Paris 91300 MASSY

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil