IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Le framework JavaScript qooxdoo modifie son outil Pretty-printing
Pour un meilleur formatage du code

Le , par vermine

20PARTAGES

2  0 
Le framework JavaScript qooxdoo modifie son outil Pretty-printing
pour un meilleur formatage du code.

qooxdoo est un framework JavaScript basé sur le système de classes. Il est open source et permet le développement d'applications Web dites "riches" (RIA).


La technique du pretty printing, par exemple la mise en forme de code source, a fait partie des outils de qooxdoo pendant une longue période. Mais elle ne fonctionnait pas aussi bien qu'espéré par les utilisateurs, en raison de bogues ou à cause du "design". Après avoir consacré beaucoup trop de temps avec les bogues et les ajouts d'options esthétiques, l'équipe de qooxdoo a décidé d'en faire une réécriture complète.

Le nouvel outil Pretty-printing adopte une approche légèrement différente. Au lieu d'une syntaxe d'arborescence abstraite, il utilise plus une syntaxe d'arborescence concrète, qui conserve tous les lexèmes* du code source, y compris les virgules, point-virgules, toutes sortes de crochets de fermeture etc. Cela permet de capturer toutes sortes de commentaires ainsi que leur ordre. Ce qui est beaucoup plus fiable.

Voici un exemple pour les curieux, un tableau vide mais avec un commentaire :

Code javascript : Sélectionner tout
var a = [/*42*/];

Cela devient impossible à distinguer dans une syntaxe d'arborescence abstraite :

Code javascript : Sélectionner tout
var a = []/*42*/;

Pour beaucoup, les deux syntaxes ne veulent pas dire la même chose.

La nouvelle implémentation tente de reproduire la fonctionnalité avec l'ajout d'une nouvelle option concernant la largeur du texte (width) qui permet d'adapter la longueur de chaque ligne jusqu'à cette largeur.

Pour l'aider dans son développement, l'équipe demande de remonter tous les bogues que vous détectez. Les commentaires et autres sont les bienvenus.

* Définition de lexème
Unité minimale de signification appartenant au lexique.

L'article sur le site officiel.
Télécharger les outils de qooxdoo.

Une erreur dans cette actualité ? Signalez-nous-la !