Magazine Internet

Code du jour: ConvertirSimpleQuoteEtDoubleQuoteEnCaracteresAscii (T)

Publié le 24 juin 2008 par Wtf

Le bout de code du jour à été découvert par Dave Conrad à l'intérieur d'une grande application web en production depuis plus de quatre ans. Comme vous pouvez l'imaginer, des projets de cette taille sont plutôt difficiles à résumer dans un article. Comme on dit, une belle fonction javascript vaut mieux qu'un long discours.

ConvertirSimpleQuotteEtDoubleQuotteEnCaracteresAscii est supposé convertir des chaînes de caractères qui ont des ' et " en chaînes de caractères ordinaires avec des doubles et simples quottes. Pour exemple, si vous envoyez "O&#39Reilly", cela va retourner "O'Reilly". Si vous envoyez "L&#39éditeur O&#39Reilly" et bien vous pourrez attendre longtemps la réponse...(petit indice, regardez sur quelle variable il travaille dans sa boucle)

function convertSingleQuoteAndDoubleQuoteAsciiToCharacters(str){
var tmpName = "";
var tmpIndex = -1;
tmpIndex = str.indexOf("'"); // double quote
while(tmpIndex > -1){
tmpName = str.substring(0,tmpIndex);
tmpName += "'";
tmpName += str.substring(tmpIndex+5);
tmpIndex = tmpName.indexOf("'");
}

if(tmpName.length < 1){
tmpName = str;
}
var tmpName2 = "";
tmpIndex = tmpName.indexOf("&#34;"); // single quote
while(tmpIndex > -1){
tmpName2 = tmpName.substring(0, tmpIndex);
tmpName2 += "\"";
tmpName2 += tmpName.substring(tmpIndex+5);
tmpIndex = tmpName2.indexOf("&#34;");
}

if(tmpName2.length < 1){
tmpName2 = tmpName;
}
return tmpName2;
}

A la vue de ce bout de code je me pose plusieurs questions sur le système. Pourquoi le développeur insiste t'il pour reproduire la fonction javascript String.Replace()? Pourquoi se retrouve t'il avec des "'" dans son formulaire? Pourquoi le nettoyage des données est t'il fait dans la couche UI? Et quelle est cette mode des noms de fonctions à rallonge?

En fait en y réfléchissant un peut, c'est peut être mieux que l'on ne connaisse pas les réponses.


Retour à La Une de Logo Paperblog

A propos de l’auteur


Wtf 169 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Magazine