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.
Un collègue, lors d'un stage durant nos études, a mis le nez dans du code PHP utilisé par une grande entreprise de téléphonie et Internet.

Quelle joie de voir des sections de code comme :
if(i == 0)
  i = 1;
else
  i++;

Très pro, ou très… PEBKAC.
PEBKAC #8748 proposé par Alibi le 08/10/2013 | 18 commentaires | 👍🏽 👎🏽 +177
C'est du PHP, donc i peut valoir false avant, ce qui validera la condition (c'est i === 0 pour une égalité stricte). Ça a donc une logique ... même si c'est immonde comme code :/
Commentaire #114380 écrit par A-xis le 08/10/2013 à 12h41 | 👍🏽 👎🏽
Oh, et pour les troll PHP = caca : c'est pas mieux en python, java ou c++. Chaque langage a ces merdes (même si java a prit tous les défauts de tous les langages, et très peu de qualités)

Commentaire #114381 écrit par A-xis le 08/10/2013 à 12h42 | 👍🏽 👎🏽
FYI, en PHP false+1 === 1 , comme true+1 === 2

Le if est inutile à moins que $i puisse prendre une valeur équivalente à 0 mais qui ne supporte pas l'addition (plus rien ne m'étonne dans ce langage), ou inversement (???)

A noter l'oubli du $ devant la variable i.
Commentaire #114388 écrit par aDev le 08/10/2013 à 13h07 | 👍🏽 👎🏽
Je suis admiratif du déroulement des arguments et de la conclusion ô combien pertinente.

Je vais donc m'y essayer aussi maître :
- chacun a le droit de choisir sa religion (mais le judaïsme ça pue),
- tous les OS se valent (mais à mort MacOS),
- chaque parti a le droit d'exister dans notre système pluraliste (mais le PS est quand même une grosse blague).
Commentaire #114392 écrit par mini le 08/10/2013 à 13h13 | 👍🏽 👎🏽
Du PHP avec des variables ne commençant pas pas $ ?
Commentaire #114405 écrit par juu le 08/10/2013 à 13h59 | 👍🏽 👎🏽
on peux simplement remplacer le tout par
i++;
Commentaire #114408 écrit par nonolelion le 08/10/2013 à 14h03 | 👍🏽 👎🏽
C'est à cause de gens comme toi qu'il y a tant de chômeurs dans notre pays. Je te prierai de bien vouloir t'occuper de tes affaires, et de me laisser faire les tâches qui incombent à mon statut.
Commentaire #114420 écrit par Captain Obvious le 08/10/2013 à 14h20 | 👍🏽 👎🏽
Qui incombent… Et qui décombent.
Commentaire #114442 écrit par Ishido le 08/10/2013 à 15h40 | 👍🏽 👎🏽
Eh, on est pas encore trolldi!
Commentaire #114445 écrit par ROB le 08/10/2013 à 15h50 | 👍🏽 👎🏽
Des concombres? Où ça?
Commentaire #114446 écrit par ROB le 08/10/2013 à 15h51 | 👍🏽 👎🏽
@ROB : ici !
Euh... ah nan.
Commentaire #114451 écrit par Siggy le 08/10/2013 à 16h02 | 👍🏽 👎🏽
Commentaire d'autant plus drôle que des trois langages cités, Java est le seul qui ne permet pas de surcharger les opérateurs, et qui garantisse donc qu'une simplification en "i++" soit correcte
Commentaire #114468 écrit par b0fh le 08/10/2013 à 17h02 | 👍🏽 👎🏽
En effet, mea culpa, quand j'ai rédigé l'anecdote je venais de la montrer à quelqu'un qui n'a jamais fait de php, donc avec une notation à la C pour simplifier la compréhension, et je n'ai pas rectifié en soumettant... J'ai honte :(
Commentaire #114507 écrit par Alibi le 08/10/2013 à 22h29 | 👍🏽 👎🏽
On ne pardonne pas ce genre de détails ici..
sort le fouet...
Commentaire #114509 écrit par Cartman34 le 08/10/2013 à 22h36 | 👍🏽 👎🏽
Pas en mode stricte.
(Après si des gens utilisent pas le mode stricte, ça aide pas a coder proprement :x )
Commentaire #114537 écrit par A-xis le 09/10/2013 à 09h39 | 👍🏽 👎🏽
Ce que j'aime avec vous, c'est que si on lance un petit taunt, vous vous ruez dessus directement :D
Commentaire #114542 écrit par A-xis le 09/10/2013 à 09h44 | 👍🏽 👎🏽
@A-xis :
Alors je t'invite à faire le test - les miens ont été faits en mode strict, si c'est bien error_reporting(E_ALL) dont tu parles.

D'ailleurs cela ne change pas le comportement du langage, uniquement l'affichage des différents niveaux d'erreurs.

Après je n'ai pas la prétention de tout connaître, et effectivement s'il existe un véritable mode strict en PHP je serais heureux de l'apprendre.

--

Edit: mea culpa, je crois qu'en fait tu parlais du i==0 et de l'égalité stricte. Ce n'était pas très clair mais si c'est le cas je suis d'accord avec toi. (Pour info (false+1) est bien strictement égal à 1, idem avec true et 2)
Commentaire #114552 écrit par aDev le 09/10/2013 à 10h07 | 👍🏽 👎🏽
Je viens de retest, autant pour moi, il me crache joliment dessus, mais ça fonctionne. (Mais c'est immonde)
Commentaire #114694 écrit par A-xis le 10/10/2013 à 00h54 | 👍🏽 👎🏽