Question bête qui m'est arrivée la semaine dernière (un peu dans le même style), comment convertir true/false en oui/non, pour l'afficher? J'ai été obligé de faire un test if machin return oui sinon non
Question bête qui m'est arrivée la semaine dernière (un peu dans le même style), comment convertir true/false en oui/non, pour l'afficher? J'ai été obligé de faire un test if machin return oui sinon non
pourquoi tu cherches plus simples ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part let string_of_bool b = if b then "vrai" else "faux"
c'était par curiosité, on ne pense pas toujours à la meilleure solution
Ça dépend aussi du contexte. Si c'est pour un gros bouzin, un fichier properties avec le reste de l'internationalisation, sinon le classique varBool?"oui":"non"
Vu récement dans une app:
je crois qu'il debug encore aujourd'hui ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 void ma_fonction_2(void) { blablabla ma_fonction(); blablabla } void ma_fonction(void) { blablabla ma_fonction_2(void); blablabla return ; }
Une autre plus pernicieuse:
(php qui vérifie pas le typage :p)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $erreur = 1; blabla blabla if (une_erreur) $erreur blabla blabla (beaucoup plus bas) $erreur = $erreur - 1;
Dans les deux cas, c'est réalisé par "des experts" senior avec beaucoup d'année de boite.
Si dans les blabla, il y a des tests, ça s'appelle des fonctions mutuellement récursive, et ça n'a jamais été du code "horrible".
Après si dans les deux cas ça appelle systématiquement l'autre fonction et que ça fait quelque chose après le retour de l'autre fonction, y a moyen que ce soit un beau bug. De là à appeler ça un code horrible...
"Hello World" en C/C++, Java, Python, Perl, FreePascal
ce micro bout de code annonçait pour moi une souffrance de plusieurs heures.....
Cedric
Sous Unix / Kornshell un
pour indiquer que la variable est vide ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part P_BDD=rien
Et derrière comme la gestion des variables est bien foutue, on retrouve un appel àdans les logs ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part sqlplus rien/rien@rien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public class A extends B { .................. public void methodeA(){ B b=new B(); b.uneMethode(); } ................... }
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (!(objet.getPropriete() != null)) {(C'est du java et c'était pas les mêmes noms mais l'idée est là).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 private boolean isTrue(String chaine) { boolean bool = false; if (chaine.equalsIgnoreCase(IConstante.YES) { bool = true; } else { bool = false; } return bool; }
Développé par un prestataire expérimenté, sur un code from scratch...
On s'est demandé lors de la revue de code, s'il était vraiment tordu, s'il s'est loupé dans un copier / coller, ou s'il l'avait fait exprès (hypothèse du codeur double payé par la concurrence).
Entre ça, l'indentation aléatoire, le manque total de commentaires et l'utilisation du modèle objet qui donnait l'impression qu'il n'avait jamais fait que du C avant de venir... son code est un bijou du genre.
Il a été remercié depuis, ça vous étonne ?
Si c'est pour des fautes répétées et grave oui, si c'est pour des fragments de code comme ci-dessus qui sont par ailleurs fonctionnels, je trouve çà abusif.Il a été remercié depuis, ça vous étonne ?
Vous auriez pû lui montrer le chemin
"Remercié" = "son contrat était arrivé à échéance et n'a pas été renouvelé contrairement à ce qui avait été prévu au début" dans ce cas précis.
Sur un projet de redéveloppement total d'appli, on ne fait pas appel à un prestataire expérimenté (avec le salaire qui va avec) pour qu'il nous ponde un truc qui a le même défaut que la version d'origine, i.e. impossible à maintenir et sous-optimisé.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager