Carnet Web de Poy

Aller au contenu | Aller au menu | Aller à la recherche

jeudi, avril 20 2006

JSMin, le réducteur Javascript

JSMin, The JavaScript Minifier, de Douglas Crockford, est un filtre qui enleve tous les commentaires et les espaces blancs inutiles de programmes Javascript. En moyenne il permet de diviser la taille d'un fichier par deux, permettant de diminuer d'autant le temps de téléchargement du fichier sur le serveur.

JSMin n'est pas un assombrisseur de code ("obfuscator"), il ne modifie pas la structure même du code, ni même le nom des variables, il se limite juste à enlever tout ce qui est inutile, et le programme ainsi compressé fonctionne exactement de la même façon que le programme original.

Le code source est disponible en différentes saveurs, C, C#, Java, Python, Ruby, et PHP.

mercredi, avril 19 2006

Vérifier son code JavaScript avec JavaScript Lint

JSlint, The JavaScript Verifier de Douglas Crockford est un validateur de syntaxe Javascript en ligne. Il permet de repérer les erreurs au sein du code, à commencer par les erreurs de syntaxe, mais aussi les constructions pouvant poser des problèmes (comme les if() sans accolades), Javascript étant relativement permissif à ce niveau là.

Depuis peu, un autre validateur Javascript a vu le jour, JavaScript Lint de Matthias Miller. Il reprends le même principe que son ainé, à savoir un validateur en ligne, mais la spécificité de l'outil est d'être construit autour d'une extension de SpiderMonkey (le moteur Javascript de Firefox), ce qui lui permet de venir s'intégrer très facilement dans l'environnement de développement sur le poste client (par ex. de l'intégrer dans SciTE en tant que compilateur externe). A l'usage, on s'apercoit qu'il signale les erreurs de manière plus complète et plus pertinente que le JSLint original.

jeudi, mars 16 2006

Fonctions Trim en Javascript

Le language Javascript ne possède pas de function trim intégrée, permettant d'enlever les espaces blancs du début et de la fin d'une chaine.

Une des utilisations les plus courante pour cette fonction est la validation de données provenant d'un formulaire, ou bien leur formattage. Cela permet par exemple de s'assurer que l'utilisateur a bien rentré quelque chose dans un champs texte.

La fonction ci-dessous est le fruit de longues séances de tests et d'optimisations au sein de la société Allaban, un grand merci à Frédéric Mélantois, Aurélien "Ienien" Benoit, Christophe "Chomp" Tran, et tous les autres...

function trim(s) {
    return s.replace(/^\s+/, '').replace(/\s+$/, '');
}

De cette fonction, on peut tirer les 2 fonctions restreintes suivantes, qui enlevent uniquement les espace en début de chaine (ltrim), ou bien en fin de chaine (rtrim) :

function ltrim(s) {
    return s.replace(/^\s+/, '');
}

function rtrim(s) {
    return s.replace(/\s+$/, '');
}