Regras de codificação que todo programador deveria saber

1 minute read

Este é um post baseado em citaçes do livro “Mastering Machine Learning with Python in Six Steps” do cientista de dados Manohar Swamynathan.

  1. Bonito é melhor do que feio - seja consistente.

  2. Complexo é melhor do que complicado - use bibliotecas existentes.

  3. Simples é melhor do que complexo - mantenha-o simples e estúpido (keep it simple and stupid, KISS).

  4. Flat é melhor do que aninhado - evite if's aninhados.

  5. Explícito é melhor do que implícito - seja claro.

  6. Disperso é melhor do que denso - separe o código em módulos.

  7. A legibilidade é valiosa - use identação para facilitar a leitura e o entendimento.

  8. Os casos especiais não são especiais o suficiente para quebrar as regras - tudo é um objeto.

  9. Os erros nunca devem ser transmitidos silenciosamente - tenha um bom manipulador de exceções.

  10. Contudo, a praticidade supera a pureza - se necessário, quebre as regras.

  11. Silenciamento explícito - registro de erros e rastreabilidade.

  12. Em situações de ambiguidade, evite a tentação de adivinhar - a sintaxe de Ruby é mais simples; no entanto, muitas vezes podemos demorar mais tempo para compreendê-la.

  13. Embora dessa maneira não seja óbvio no começo, a menos que você seja holandês - não há apenas uma maneira de conseguir algo.

  14. Deve haver preferencialmente apenas uma maneira óbvia de fazê-lo - use bibliotecas existentes.

  15. Se a implementação é difícil de explicar, é uma má ideia - se você não pode explicar em termos simples, então você não entende bem o suficiente.

  16. Agora é melhor do que nunca - há maneiras rápidas/sujas de fazer o trabalho em vez de tentar demais para otimizar.

  17. Embora nunca seja geralmente melhor do que agora - embora exista uma maneira rápida/suja, não siga o caminho que não permitirá uma maneira graciosa de melhorar o que foi feito.

  18. Namespaces são uma ótima ideia, então vamos fazer mais deles! - seja específico.

  19. Se a implementação é fácil de explicar, pode ser uma boa ideia - simplicidade.

Referência

https://www.amazon.com/Mastering-Machine-Learning-Python-Steps/dp/1484228650

Leave a Comment