PyConFr 2014

Lyon, October 25-28

PyConFR 2014

samedi 15:00:00–15:30:00

RedBaron, une approche bottom-up au refactoring en Python

Laurent Peuch

Audience level:
Intermediate

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.

Abstract

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 court 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.

Voir le support de présentation

Sponsors