Le pire bout de code que vous ayez vu
Le pire bout de code que vous ayez jamais vu
Qui l'a fait ? Pourquoi ? Pourquoi était-il si horrible ?
Il vous a fait rire. Ou hurler. Ou les deux.
Vous n'en avez pas cru vos yeux et pourtant il était là. Et bien là. Un humain avait écrit ça.
Il est resté dans votre mémoire comme le pire bout de code que vous ayez jamais vu.
Quelque fois ce "pire code" n'est pas trop méchant. Il relève juste du non sens :
Code:
1 2 3 4 5 6
|
int length= 0;
for(int idx = 0; idx < a.length; i++){
length++;
}
System.out.println("La taille du tableau est : " + length); |
Ou comment calculer simplement la longueur du tableau à partir de la longueur ("a.length") qu'on a dès le départ...
D'autres sont juste parfaitement inutiles :
Code:
1 2 3 4
|
public Object toObject(String value){
return (Object) value;
} |
En Java tout est Object. Aucun besoin d'effectuer un cast donc.
Mais ce code peut aussi aller jusqu'à vous hanter tant il est horrible. A se demander ce qui a bien pu passer par la tête du "créateur" de ce "monstre", voire si celui-ci sait dans quel langage il code :
Code:
1 2 3 4
|
public void close(InputStream stream){
stream = null;
} |
InputStream est un flux vers une ressource. Pour le fermer, par exemple, il faut invoquer sa méthode close(), mais dans ce cas, le "créateur" s'est contenté de le mettre à null. Les développeurs Java seront d'accord pour admettre l'inutilité crasse de ce bout de code : les variables sont passées par copie de la valeur, donc ce ne sera "null" que dans la méthode.
Allez une dernière pour la route (pardon pour les yeux) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
public int convert(String value){
if(value == "0"){
return 0;
} else if (value == "1"){
return 1;
} else if (value == "2"){
return 2;
} // jusqu'à 25 !
else {
return -1;
}
} |
Tout cela est faisable en une seule et simple ligne de Java (avec Integer.parseInt(String value) ).
Mais le pire c'est que, en plus, la méthode de cet autre "créateur fou" ne fonctionne pas du tout. En Java, on ne peut pas faire value == "1" pour comparer sa valeur (il faut faire "1".equals(value) ).
Invention de syntaxe, non-sens, aberration dans les raisonnements, vous avez déjà dû croiser ces codes cauchemardesques.
Que vous soyez développeur JavaScript, PHP, Ruby, C, C++, C#, Assembleur, Pascal, Visual Basic, Perl, Python ou autres (désolé de ne pouvoir tous les citer), faîtes nous part de votre expérience de codeur : quel est le pire du pire que vous avez dû lire ?
Une petite explication succincte pour que les non-spécialistes puissent également partager votre émois (qui je n'en doute pas est encore palpable aujourd'hui) est également la bienvenue.
Quant à tous ces honteux bouts de Java reproduits ici, ils m'ont été communiqués par Baptiste Witch (responsable rubrique Java) qui se fera un plaisir de nous en livrer d'autres. Un grand merci à lui.
Mais... je suis sûr que vous avez encore bien pire à raconter.
Pas vrai ?
Lire aussi :
:fleche: Les rubriques Java, Développement Web et Langages (actus, forums, tutos) de Développez.com
:fleche: Et pour se détendre après une journée bien chargée, la rubrique Humour Informatique
On me dit que ce morceau de code fait quelque chose
Je dis que le code suivant (qui peut etre tester dans plusieurs langages) ne fait rien, on me dit que la reponse est superficielle
Code:
1 2 3 4 5 6 7 8 9 10
|
do break;
while(true);
do;
while(false);
if(true);
if(false);
else;
for(;true; )break;
while(true)break; |
Quelle serait la vrai reponse(peut-etre celle, profonde)