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.
