Ceci dit, même si peut-être c'est bel et bien dans la norme (y'a le SQL 99 aussi entre autre, et je crois un 200x je sais pas combien), mon argument "le dev y voit ça, y soupçonne la syntaxe plutôt que l'algo" tiens toujours.
C'est un peu comme les optimisations capilotractées qu'on trouve parfois : la syntaxe est tellement "choquante" qu'il devient quasi impossible de faire de la maintenance sur le code, car le dev est trop dérouté par la syntaxe.
Genre en C, tu me parcours un array à grand coups d'offsets sur un pointeur plutôt qu'un itérateur, si à un moment je trouve n'importe quoi dans la tableau, je vais soupçonner direct la manière de lire en mémoire, plutôt que d'aller vérifier que j'ai pas écrit n'importe quoi un peu plus tôt.
Ici, ça peut même être pire, puisqu'après un coup d'oeil rapide (et une requête SQL, c'est rarement super bien lisible dans un code), à grands coups de "SET", le dev qui vient relire à 9 chances sur 10 de croire que tu fais un update, et donc ignorer la requête s'il recherche un insert.
C'est d'ailleurs une des recommandations du célèbre "How to design unmaintainable code" : jouer avec l'affectif du gars qui vient faire de la TMA, afin de lui rendre les choses les plus simples le plus difficile à comprendre.
http://mindprod.com/jgloss/unmainnaming.html => tips 17, 18
Message édité par MagicBuzz le 14-11-2007 à 01:54:17