Melhorando a Qualidade do Código junto com o time

Recentemente alguém no Slack de Python em Berlim comentou que a empresa em que ele trabalha havia começado um projeto Python e ele precisava de ajuda. Ele postou a seguinte pergunta: How do you deal with team members who write Python as if it was bash/idl/Fortran? How do you introduce pep 8 in a “soft” way (if such thing exist)? Nesse post quero compartilhar com vocês algumas práticas que podem ajudar nesse problema!

Leia mais →

[python drops] NamedTuples

O módulo collections do Python é cheio de recursos bem úteis. Uma delas é a NamedTuples. Como o nome já diz, a ideia por trás é ter tuplas nomeadas. Ou seja: os mesmos recursos básicos de uma tupla mas com nomes para os atributos. Dessa forma, você não precisa se preocupar em memorizar a ordem dos elementos, apenas saber o nome deles. Esse recurso não é novo mas pode ser bem útil ter ele na manga.

Leia mais →

[python drops] f-strings

Mas hoje, mas no programa de hoje o gotas de Pythão será sobre f-strings conhecido também como Literal String Interpolation. Esse recurso foi introduzido na versão 3.6 do Python e o objetivo é tornar a interpolação de Strings mais legível. Interpolação é só um nome chique para o ato de montar/construir uma String a partir de dados que você queira: uma variável, um retorno de método etc. Antes, os jeitos mais comuns de interpolar Strings eram assim:

Leia mais →

[python drops] Pathlib

O módulo pathlib está aí desde a versão 3.4 do Python mas confesso que comecei a usar mesmo há pouco tempo. Pra quem tá ouvindo esse nome agora, o pathlib é Object-oriented filesystem paths ou um módulo com várias classes para te ajudar a manipular caminhos de maneira mais prática. Cada classe tem um uso apropriado e se você quiser se aprofundar nelas, sugiro dar uma olhadinha na documentação. Esse post é bem introdutório (e ao mesmo tempo um lembrete da sintaxe pra mim mesma :)).

Leia mais →

Mocking: dublando partes do código

É esperado que o nosso código se conecte com outras coisas, além dele próprio. Essa conexão pode ser com um banco de dados, uma API externa ou até mesmo um arquivo. Nem sempre conseguimos testar o nosso código sem essas dependências externas. Às vezes é uma questão de economia: se temos um código que se conecta com a API do Google Maps, por exemplo, todas as vezes que rodamos os nossos testes será feita uma requisição para essa API.

Leia mais →