Techno-magis

Janvier 2016

BakuJS : l'importance des tests

Mercredi 27 Janvier 2016

Ça va faire deux semaines que je me suis vraiment lancé sur ma petite bibliothèque JS et j'ai presque tout réécrit, en grande partie à cause d'erreurs de conception. J'avais fait quelques tests, un peu à l'arrache (en live dans la console), et je n'avais jamais rencontré de problème. Puis pour être certains que ça fonctionne, j'ai commencé à écrire une batterie de tests, et à chaque fois c'était « si je vais ceci, ça doit donner cela » et je lance mon test. C'est avec stupeur que certains ne fonctionnaient pas. Donc je me suis lancé sur la recherche de toute les cas tordus avec le résultat escompté et je suis parti à la chasse aux bugs. En fait, cette technique de débogage, je la connais. C'est du TDD. On commence par écrire un test qui ne fonctionne pas, et on fait en sorte que le code le fasse marcher. Dans mon cas, il y a aussi tous les autres tests qui fonctionnaient déjà.

Je me rends compte que je n'ai pas tellement le temps de faire de genre de choses au boulot et c'est dur à prendre en main. J'ai du passé autant de temps à écrire mes tests qu'à faire les corrections pour qu'ils passent. Pour être franc, c'est un peu long et chiant, mais une fois que j'ai les tests, ça devient facile de détecter la moindre variance dans le code. Il en reste que ce n'est pas simple de penser à tout, je suis certain qu'il y a une kyrielle de cas oubliés.

Bref, c'est donc partiellement mis en application pour BakuJS. J'essaie méthode par méthode d'étoffer les tests. J'ai aussi pris un petit temps pour écrire la doc. C'est également un bon moyen de relire son code. Pour l'instant, c'est tout en français. Dès que j'ai le courage, je la fais en anglais et je passe également mes commentaires de code en anglais... sauf si quelqu'un veut m'aider. J'en serais ravi.

Lire le billet en entier...
Catégories :
Par Zéfling, le 27/01/2016 à 23:51:55
Le billet a été lue 42 fois, avec 2 commentaires publiés.

Open source & Github

Samedi 16 Janvier 2016

Suite à un petit problème de licence, en fait du code sans licence n'est techniquement pas utilisable ou éditable. Pour pallier à ce petit problème, j'ai commencé à diffuser une partie du code présenté ici sur GitHub, avec une licence MIT.

Mon premier projet sur Github concerne les extensions Js par prototypage sur les objets de base : String, Number, Date. Comme, en ce comment, je bosse assez souvent sur du formatage JS au boulot, et que j'avais remarqué que j'en avais aussi un peu dans le code de mon site, j'ai repris l'idée et j'ai essayé d'aller plus loin pour rendre ça quasiment transparent à l'utilisation. Bref, c'est plus pour pallier certains manques qu'un véritable framework, du moins pour l'instant.

Le dépôt est ici : https://github.com/Zefling/BakuJS

J'ai même corrigé du code que j'avais proposé. Sous peu, je devrais aussi publier les tests qui vont avec. Je vais probablement y pousser d'autres idées sur ce dépôt ou un autre. À terme, ça sera peut-être le code entier de ce site.

Édit 19/01 : changement de nom et de licence. Je n'avais pas fait attention ExtJS est déjà utiliser par un module de Sencha et la licence GPL est un peu chiant pour un projet JS comme celui-ci. Pour information le nom Baku vient d'une créature fantastique japonaise.

Commenter le billet...
Catégories :
Par Zéfling, le 16/01/2016 à 10:59:06
Le billet a été lue 16 fois, avec 0 commentaire publié.