Bienvenue sur PEBKAC.fr, le site qui recense les anecdotes où l’on se moque des utilisateurs ne maîtrisant pas l’outil informatique. PEBKAC est un acronyme signifiant « Problem Exists Between Keyboard And Chair ».
Le problème se situe entre la chaise et le clavier : soumettez vos histoires, donnez votre avis !
Ce site n'est pas le site original pebkac.fr. Je publie ici la liste des PEBKAC que j'ai pu sauvegarder avant que le site original ne soit mis hors ligne.
En relisant un ancien code, voici ce sur quoi je tombe (langage Objective-C) :

(void)show_pyr_background_for_q:(int)n
{
    if (n == 0) [fondPyr1 setHidden:false];
    else if (n == 1) [fondPyr2 setHidden:false];
    else if (n == 2) [fondPyr3 setHidden:false];
    else if (n == 3) [fondPyr4 setHidden:false];
    else if (n == 4) [fondPyr5 setHidden:false];
    else if (n == 5) [fondPyr6 setHidden:false];
    else if (n == 6) [fondPyr7 setHidden:false];
    else if (n == 7) [fondPyr8 setHidden:false];
    else if (n == 8) [fondPyr9 setHidden:false];
    else if (n == 9) [fondPyr10 setHidden:false];
    else if (n == 10) [fondPyr11 setHidden:false];
    else if (n == 11) [fondPyr12 setHidden:false];
}

Pourtant d'habitude je sais faire un switch… PEBKAC.
PEBKAC #9176 proposé par Somadeva le 26/12/2013 | 15 commentaires | 👍🏽 👎🏽 -82
Oui, un switch serait déjà mieux... en ce qui me concerne j'aurais plutôt fait quelque chose comme cela:


- (void)show_pyr_background_for_q:(int)n
{
if (n >= 0 && n <= 11) {
NSArray *fondPyrArray = @[fondPyr1, fondPyr2, fondPyr3, fondPyr4, fondPyr5, fondPyr6, fondPyr7, fondPyr8, fondPyr9, fondPyr10, fondPyr11, fondPyr12];
[[fondPyrArray objectAtIndex:n] setHidden:false];
}
}


Sachant, que le tableau peut probablement être créé ailleurs plutôt qu'à chaque fois dans la méthode...
Commentaire #123786 écrit par Ceci est une révolution le 26/12/2013 à 12h46 | 👍🏽 👎🏽
Je sais que c'est un jours en avance mais je troll quand même :

CTLP pour coder en Objective-C
Commentaire #123789 écrit par Nejaa Halcyon le 26/12/2013 à 13h27 | 👍🏽 👎🏽
Oh putain ce que c'est laid ce langage Oo
Commentaire #123792 écrit par D-z le 26/12/2013 à 14h26 | 👍🏽 👎🏽
Désolé, mais je ne vois pas où est le PEBKAC. Le code ne semble pas optimisé, mais il semble fonctionnel et ni bogué ni redondant. Après, je ne connais pas Objective-C, donc un détail peut m'échapper. J'attends d'en savoir plus pour voter.

Sinon, je rejoins D-z, c'a l'air vraiment laid comme langage.
Commentaire #123798 écrit par ygnobl le 26/12/2013 à 15h59 | 👍🏽 👎🏽
+1, du code fonctionnel mais non optimisé n'est pas un PEBKAC à mon sens...
Commentaire #123834 écrit par Araldwenn le 26/12/2013 à 21h48 | 👍🏽 👎🏽
Optimisé dans quel sens ? Après compilation, le résultat sera le même qu'avec un case. La seule différence est la lisibilité du code, on ne peut pas vraiment parler d'optimisation...
Commentaire #123835 écrit par Epok__ le 26/12/2013 à 22h06 | 👍🏽 👎🏽
Je confirme D: j'ai du mal a trouver plus laid que ce langage (je reste dans les langages "normaux" donc je ne considère pas les trucs étranges comme le brainfuck).

C'est moche, c'est un mélange de rajout fait autour du C... pour moi ça a juste l'air bancal et tordu. Je ne comprends pas pourquoi ne pas faire direct du C++ si on veux du C orienté objet <.<

... Si ce n'est "pour pas faire comme les autres" parce-que nous ... on est des pommes x)
Commentaire #123837 écrit par Nejaa Halcyon le 26/12/2013 à 23h15 | 👍🏽 👎🏽
Pas aussi laid que le Java tout de même...
Commentaire #123846 écrit par Cartom le 27/12/2013 à 02h15 | 👍🏽 👎🏽
Cela dépend de l'efficacité du compilateur mais je suis d'accord. C'est plus un problème d'esthétique que d'optimisation.
Commentaire #123865 écrit par psykauze le 27/12/2013 à 10h31 | 👍🏽 👎🏽
Connais pas l'objectif C mais perso au lieu de faire un tableau j'aurai fait une constante contenant la valeur 'fondPyr' à laquelle j'aurai concaténé la valeur de (n+1)
Commentaire #123877 écrit par Ceci est une évolution le 27/12/2013 à 11h24 | 👍🏽 👎🏽
Pas faux. fondPyr* sont probablement des ivars donc ça doit être jouable avec un setValue:forKeyPath:, genre:
[self setValue:[NSNumber numberWithBool:false] forKeyPath:[NSString stringWithFormat:@"fondPyr%d.hidden", n+1]];
Commentaire #123883 écrit par Ceci est une révolution le 27/12/2013 à 11h52 | 👍🏽 👎🏽
C'est pas laid, le Java, c'est juste qu'il faut aimer la lecture...
Commentaire #123889 écrit par o4b le 27/12/2013 à 12h09 | 👍🏽 👎🏽
Pas redondant??? ne serait-ce que pour le "setHidden:false" répété 12 fois...
Commentaire #123890 écrit par o4b le 27/12/2013 à 12h10 | 👍🏽 👎🏽
J'aime la lecture, mais Java me rebute (sauf pour la musique...). Après, je ne suis pas dev, mais je scripte un µpoil en bash, et j'essaye d'aprendre python et php.
Commentaire #123970 écrit par ygnobl le 28/12/2013 à 20h07 | 👍🏽 👎🏽
Un code ne doit pas être seulement fonctionnel, il doit être aussi le plus simple et le plus lisible possible.
La est le vrai PEKBAC.
Commentaire #124355 écrit par aaaa le 06/01/2014 à 11h24 | 👍🏽 👎🏽