O Unify me salvou do inferno das aspas manuais

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

Já teve uma mania de estilo de código que aos poucos te deixa louco? No trabalho, nossa equipe segue o estilo de código Black — com uma exceção: aspas simples em vez de duplas. Parece inofensivo, né?

Acontece que esse pequeno desvio gera uma quantidade surpreendente de atrito.

A fadiga do “localizar e substituir”

Claro, eu poderia buscar e substituir as aspas manualmente. Mas fazer isso repetidamente em vários arquivos é cansativo. Então tentei usar o Cursor para cuidar disso, mas isso trouxe um conjunto totalmente novo de dores de cabeça: alto consumo de tokens, processamento lento, e a necessidade de cutucá-lo a cada poucos passos como um assistente robô teimoso.

Isso estava atrapalhando meu fluxo de trabalho.

Chega o Unify (e o uv)

Eu já tinha o uv instalado, então incorporar o Unify foi tranquilo:

uv tool install --python=python3.10 unify

Esse detalhe do --python=python3.10 é essencial—caso contrário o uv pega o Python 3.13 por padrão, o que causa problemas com o lib2to3 (é, ainda relevante!).

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'

O Unify depende dele, então uma versão mais antiga do Python salva o dia.

A linha de comando que resolveu tudo

É só isso que é preciso para trocar para aspas simples direto no arquivo:

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

E pronto, sem mais ajustes manuais. Sem mais gasto de tokens. Sem mais precisar empurrar as ferramentas de IA para obedecerem.

Antes e depois

# Before
print("Hello, world!")

# After
print('Hello, world!')

Conclusão

Às vezes a melhor solução é uma intervenção cirúrgica. O Unify não só limpou meu código—ele me permitiu recuperar tempo e foco. Se você está preso no purgatório do estilo de aspas, essa linha de comando pode ser sua rota de fuga.

WordPress and DreamHost: Perfect Duo

Leave a Reply

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