Quand David fut contacté par son collègue pour évaluer la qualité un projet php, il insista pour avoir accès au code. Il savait seulement que le projet était un site PHP MYSQL avec une base utilisateur assez conséquente.

Lorsque David reçut le code, la première chose qu'il remarqua fut la taille déraisonnable du fichier "namelib.php". Ce fichier était apparemment destiné à nettoyer les noms d'utilisateurs...

<?
$name = $_GET['name'];
switch($name)
{
case "aafke":
echo "Aafke";
break;
case "aaron":
echo "Aaron";
break;
case "abbie":
echo "Abbie";
break;
case "abby":
echo "Abby";
break;
case "abdel":
echo "Abdel";
break;
case "abe":
echo "Abe";
break;
case "abeltje":
echo "Abeltje";
break;

/* Snip */

case "zora":
echo "Zora";
break;
case "zorah":
echo "Zorah";
break;
case "zuzana":
echo "Zuzana";
break;
case "zuzanna":
echo "Zuzanna";
break;
case "zuzanny":
echo "Zuzanny";
break;
default:
echo $name;
// Name not in the database yet, lowercase is better than nothing
}
?>
David ne put s'empêcher de sourire pendant qu'il remplaçait les milliers de lignes de code générées automatiquement par une seule et unique :
echo ucfirst($_GET['name']);