RedBaron, une approche bottom-up au refactoring en Python

Laurent Peuch

Thématique
Technique
Niveau
Expert
Horaire
samedi 15 nov, 13:30 – 14:20
Salle
A201 - Technique

Description

Écrire du code qui modifie du code reste réservé à une petite poignée de développeurs téméraires. Construit sur les fondations d'un arbre syntaxique (AST) sans perte, RedBaron a pour but de rendre le refactoring accessible au plus grand nombre, en offrant une abstraction qui permet de se concentrer uniquement sur le résultat voulu en faisant fi des détails peu importants.

Description détaillée

RedBaron a pour but de rendre l'écriture de code qui modifie du code suffisamment facile (et fun) et amusante pour que cela devienne une tâche réaliste, voire même enviable. Pour ce faire, RedBaron se comporte comme BeautifulSoup/JQuery sur votre code source Python avec pour objectif d'être suffisamment puissant et expressif pour pouvoir être directement utilisé dans un shell tel que ipython.

RedBaron est construit sur Baron, un arbre syntaxique pour Python qui a la particularité de ne perdre aucune information, de telle sorte que l'opération: [code source -> arbre -> code source] donne un code source identique, y compris d'un point de vue mis en forme. Baron est relativement stable, comporte plus de 1000 tests unitaires, a été testé sur le top 100 des packages de pypi et est documenté. RedBaron est en cours de développement mais est déjà stable et utilisable, le focus est sur le rendre agréable. Fin août, il comportait pas loin de 450 tests unitaires et est entièrement documenté avec de très nombreux exemples.

Cette présentation expliquera la raison d'être de ce projet en vous donnant une vue de l'ensemble des fonctionnalités avec chaque fois une petite démo.

Code source et documentation:

RedBaron: https://github.com/psycojoker/redbaron http://redbaron.rtfd.org
Baron: https://github.com/psycojoker/baron http://baron.rtfd.org

L'objectif de RedBaron est un changement de paradigme dans lequel écrire du code qui modifie du code devient une opération réaliste, normale (et amusante) de la vie d'un développeur.

Medias

Intervenant(es)

Laurent Peuch

Laurent Peuch

Bram, passionné du python, de django, d'haskell et du code en générale. Code la nuit, fais de l'associatif (FAI associatifs, FFDN, Gitoyen ...) et du militantisme (la quadrature du net, revenue de base ...) le jours quand il n'est pas dans un hackerspace.

Voir plus