Além da PEP 8 - Legibilidade e Código "Pythonico"

PYTHON BEST PRACTICES VIDEOS

Nos últimos dias encontrei um vídeo muito bom no Youtube. É de uma apresentação para a PyCon 2015 feita pelo Raymond Hettinger, intitulada “Beyond PEP 8 – Best practices for beautiful intelligible code”.

Se você escreve código em Python, principalmente se revisa código dos outros, fica a recomendação:

O vídeo tem quase 1h de duração, mas vale cada minuto. É uma apresentação bem hands-on, ilustrando os conceitos em cima de um exemplo real.

Mas não se limita a ser só uma demonstração das boas práticas. A ideia é mostrar que existe muito mais envolvido em escrever código bonito do que somente seguir a PEP 8.

Apesar das críticas à ela, o problema não é nem a PEP 8 em si; continuo acreditando que estabelecer e seguir um code style é importante para qualquer projeto que deve ser escrito e mantido por mais de uma pessoa.

Mas na prática, o que acaba acontecendo é se apegar demais ao code style e desviar o foco da atenção para problemas superficiais, deixando problemas de legibilidade muito mais sérios passarem despercebidos.

Muito mais importante do que reforçar o cody style é garantir que o código está sendo escrito de maneira idiomática ou, como se costuma dizer, Pythonica.

O conceito de “Pythonico” sempre me soou vago. Ao longo dos vários anos que trabalhei com a linguagem, principalmente ao fazer consultas no Stack Overflow, sempre me deparei com comentários “qual a maneira mais Pythonica de fazer isso?” ou “X é mais Pythonico do que Y”… Com o tempo comecei a desenvolver um certo “feeling” mas nunca parei para analisar isso de maneira mais formal e objetiva.

O vídeo serviu para me abrir os olhos para o que isso realmente significa e até me arrisco a tentar definir o conceito com algumas palavras:

Código Pythonico é aquele estruturado da forma encorajada pela linguagem, seguindo seus princípios (import this) e fazendo bom uso das funcionalidades disponíveis (“magic methods”, exceptions, properties, context managers, etc…)