Escrever código Python é uma coisa e escrever o código em um bom formato é outra coisa. Os programadores juniores geralmente se concentram em garantir que seu código esteja funcionando e esquecem-se de formatar o código corretamente ao longo do caminho.

Se você escrever um programa pequeno (com 1000 linhas de códigos), provavelmente poderá sair sem formatar o seu código.

Mas, à medida que os programas se tornam cada vez mais complexos, eles se tornam cada vez mais difíceis de entender. Em algum momento (cerca de 15.000 linhas de código), fica mais difícil entender o código que você escreveu.

A diferença entre trabalhar em código bem formatado e trabalhar em código mal formatado é como a diferença entre morar em um palácio e morar em uma casa suja.

Legibilidade

A formatação do seu código ajudará você ler seu código eficientemente. Parece mais organizado e, quando alguém olha para o seu código, fica com uma boa impressão.

Isso ajudará em suas entrevistas de codificação

Quando você está em uma entrevista de codificação, em algum momento os entrevistadores se importam se você está formatando seu código corretamente. Se você esquecer essa formatação, poderá perder as perspectivas de emprego, apenas por causa do seu código mal formatado.

Suporte da equipe

A formatação do seu código se torna mais importante quando você está trabalhando em um equipe. Várias pessoas provavelmente estarão trabalhando no mesmo projeto de software e o código que você escreve deve ser entendido pelos seus colegas de equipe. Caso contrário, fica mais difícil trabalhar juntos.

Facilita a detecção de bugs

Um código mal formatado pode tornar muito, muito difícil detectar bugs ou até mesmo trabalhar em um programa. Também é realmente horrível de se olhar. É uma ofensa aos seus olhos.

A maioria dos desenvolvedores de Python gosta de usar Pylint ou Flake8 para verificar o código em busca de erros e guias de estilo.

Pylint é uma ferramenta que verifica erros no Python. Ele tenta impor um padrão de codificação e procura odores de código. Ele também pode procurar por certos erros de tipo, pode recomendar sugestões sobre como determinados blocos podem ser refatorados e pode oferecer detalhes sobre a complexidade do código.

Flake8 é uma biblioteca Python que envolve PyFlakes, pycodestyle e Script McCabe de Ned Batchelder. É um ótimo kit de ferramentas para verificar sua base de código em relação ao estilo de codificação (PEP8), erros de programação como “biblioteca importada, mas não utilizada”, “Nome indefinido” e código que não é recuado.

O problema é que essas ferramentas relatam apenas os problemas que eles identificam no código-fonte e deixam o ônus para os desenvolvedores do Python corrigi-los!

Mas e se tivéssemos uma ferramenta que pudesse identificar e resolver o problema ao mesmo tempo? Preto é uma ferramenta que permite identificar erros e formate seu código python ao mesmo tempo. Assim, você se torna mais produtivo.

Logotipo preto

Do projeto README:

Usando Preto, você concorda em ceder o controle sobre as minúcias da formatação manual. Em troca, Preto oferece velocidade, determinismo e liberdade do estilo pycodestyle sobre a formatação. Você economizará tempo e energia mental para assuntos mais importantes.

O preto pode reformatar seu arquivo inteiro no lugar, de acordo com o estilo do código em preto. Isso ajuda seu cérebro a se concentrar no problema que você deseja resolver e a codificar soluções, em vez de se distrair com a estrutura de código e as pequenas diferenças estilísticas.

Então, vamos ver como usá-lo.

Instalar preto

O preto pode ser instalado executando pip install black. Requer o Python 3.6.0+ para ser executado. Depois que o Black estiver instalado, você terá uma nova ferramenta de linha de comando chamada black disponível no seu shell e estará pronto para começar!

Para começar imediatamente com padrões sensíveis, escolha o arquivo python que deseja formatar e depois escreva black filename.py no terminal. Então o Black formatará seu arquivo python.

Agora vamos ver o que o preto pode nos ajudar a fazer.

Formatar um único arquivo

Vejamos este exemplo simples: aqui estão minhas duas funções python no meu arquivo python chamadas sample_code.py.

1 OKkCLUmuspv8IHiU25NVTw
sample_code.py

Você pode usar black sample_code.py no terminal para alterar o formato. Depois de executar o Black, você verá a seguinte saída:

d

Então você pode abrir sample_code.py para ver o código python formatado:

e

O código Python agora está formatado e é mais legível.

Formatar vários arquivos

Para formatar mais de um arquivo python, escreva black folder_name/ no terminal.

1*VLyk0 7wCnKFOEYPRBpABg

f
Formate todos os arquivos python dentro da pasta

Três arquivos python dentro da pasta denominada python_with_black foram reformatados.

Verificando arquivos para formatação

Se você não deseja que o Black altere seu arquivo, mas deseja saber se o Black acha que um arquivo deve ser alterado, você pode usar um dos seguintes comandos:

black --check .: Isso verifica quais arquivos python podem ser formatados na pasta atual (mas na verdade não modifica os arquivos python).

g
Verifique o (s) arquivo (s) para formatar

black --check --diff file_name.py : Mostra o que precisa ser feito no arquivo, mas não o modifica.

h
verificar diff após a formatação

Alterar número de caracteres por linha

Observe que o padrão preto é 88 caracteres para o comprimento da linha, mas você pode alterá-lo usando a opção “-l” ou “- -line-length”.

Por exemplo, para mudar para 60 caracteres: black -l 60 python_file.py .

Para usuários de notebooks Jupyter, você ainda pode formatar automaticamente seu código python com esta extensão simples chamada Jupyter Black. Essa extensão reformata / pré-purifica o código na célula de código de um notebook Preto.

A extensão Jupyter Black fornece

  • Um botão da barra de ferramentas.
  • Um atalho de teclado para reformatar a célula de código atual (padrão: Ctrl-B).
  • Um atalho de teclado para reformatar células de código inteiras (padrão: Ctrl-Shift-B).

Instale o Jupyter Black

Primeiro, verifique se você instalou jupyter-contrib-nbextensions e Preto, execute os seguintes comandos.

jupyter nbextension install https://github.com/drillan/jupyter-black/archive/master.zip — user

Ative a extensão executando:

jupyter nbextension enable jupyter-black-master/jupyter-black

Agora você pode começar a formatar seu código python em cada célula do notebook.

Primeiro, selecione a célula do notebook que você deseja formatar seu código python e clique no botão de extensão chamado Black.

i
Antes de usar o Jupyter Black

Em seguida, clique no botão Jupyter Black:

j
Botão preto de Jupyter

k
Depois de usar o Jupyter Black

Você pode integrar o Black aos seus editores favoritos. Atualmente, o Black suporta PyCharm / IntelliJ IDEA, Wing IDE, Vim, Código do Visual Studio, Sublime Text 3, Atom / Nuclide, Kakoune e Thonny. Siga as instruções aqui para integrar o preto ao seu editor favorito.

Se você quiser saber mais sobre o preto, recomendo assistir ao Discussão em PyCon 2019 de Łukasz Langa.

Se você aprendeu algo novo ou gostou de ler este artigo, compartilhe-o para que outros possam vê-lo. Até lá, até o próximo post! Também posso ser encontrado no Twitter @Davis_McDavid.





Fonte