Unify m’a sauvé de l’enfer des guillemets manuels

Read in: English · Español · Français · Deutsch · Português (Brasil) · 日本語 · 中文(简体) · Русский

Avez-vous déjà eu une manie de style de code qui vous rend peu à peu fou ? Au travail, notre équipe suit le style de code Black — à une exception près : les guillemets simples plutôt que doubles. Ça a l’air inoffensif, non ?

Il s’avère que cette petite entorse engendre une friction surprenante.

La lassitude du « Rechercher et remplacer »

Bien sûr, je pourrais rechercher et remplacer les guillemets manuellement. Mais le faire à répétition sur plusieurs fichiers est fastidieux. J’ai alors essayé d’utiliser Cursor pour s’en charger, mais cela a introduit toute une nouvelle série de tracas : une grosse consommation de tokens, un traitement lent, et le besoin de le relancer à chaque étape comme un assistant robot têtu.

Cela perturbait mon flux de travail.

Entrée en scène de Unify (et uv)

J’avais déjà uv installé, donc intégrer Unify a été sans accroc :

uv tool install --python=python3.10 unify

Ce détail --python=python3.10 est essentiel—sinon uv récupère Python 3.13 par défaut, ce qui pose des problèmes avec lib2to3 (eh oui, toujours d’actualité !).

Traceback (most recent call last):
  File "/Users/abramowi/.local/bin/unify", line 10, in <module>
    sys.exit(main())
             ~~~~^^
  File "/Users/abramowi/.local/share/uv/tools/unify/lib/python3.13/site-packages/unify.py", line 230, in main
    return _main(sys.argv,
                 standard_out=sys.stdout,
                 standard_error=sys.stderr)
  File "/Users/abramowi/.local/share/uv/tools/unify/lib/python3.13/site-packages/unify.py", line 210, in _main
    if format_file(name, args=args, standard_out=standard_out):
       ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/abramowi/.local/share/uv/tools/unify/lib/python3.13/site-packages/unify.py", line 144, in format_file
    encoding = detect_encoding(filename)
  File "/Users/abramowi/.local/share/uv/tools/unify/lib/python3.13/site-packages/unify.py", line 125, in detect_encoding
    from lib2to3.pgen2 import tokenize as lib2to3_tokenize
ModuleNotFoundError: No module named 'lib2to3'

Unify en dépend, donc une version plus ancienne de Python sauve la mise.

La ligne de commande qui a tout réglé

Voici tout ce qu’il faut pour passer aux guillemets simples directement dans le fichier :

unify --quote "'" --in-place /path/to/file.py

Et comme ça, plus de bricolage. Plus de gaspillage de tokens. Plus besoin de forcer les outils d’IA à obéir.

Avant et après

# Before
print("Hello, world!")

# After
print('Hello, world!')

Ce qu’il faut retenir

Parfois, la meilleure solution est chirurgicale. Unify n’a pas seulement nettoyé mon code—il m’a permis de récupérer du temps et de la concentration. Si vous êtes coincé dans le purgatoire du style des guillemets, cette ligne de commande pourrait bien être votre porte de sortie.

WordPress and DreamHost: Perfect Duo

Leave a Reply

Your email address will not be published. Required fields are marked *