1.2 Engenharia de software

Diferentemente de boa parte da literatura sobre ciência de dados, esse livro dá uma ênfase maior para a estruturação do código. A razão para isso é que notamos que muitos cientistas de dados simplesmente inserem seu código em um arquivo enorme e rodam as instruções sequencialmente. Uma analogia possível seria forçar as pessoas a lerem um livro sempre do início até o final, sem poder consultar capítulos anteriores ou pular para seções mais interessantes. Isso funciona para projetos menores, mas quanto maior e mais complexo for o projeto, mais problemas aparecerão. Por exemplo, um livro bem escrito é dividido em diferentes capítulos e seções que fazem referência a diversas partes do próprio livro. O equivalente a isso em desenvolvimento de software é dividir o código em funções. Cada função tem nome e algum conteúdo. Ao usar corretamente as funções você pode determinar que o computador, em qualquer ponto do código, pule de um lugar para outro e continue a partir daí. Isso permite que você reutilize o código com mais facilidade entre projetos, atualize o código, compartilhe o código, colabore e tenha uma visão mais geral do processo. Portanto, com as funções, você pode otimizar o tempo.

Assim, ao ler este livro, você acabará se acostumando a ler e usar funções. Outro benefício em ser hábil na engenharia de software é compreender com mais facilidade o código-fonte dos pacotes que utiliza, algo essencial quando se depura códigos ou quando buscamos entender exatamente como os pacotes que utilizamos funcionam. Por fim, você pode ter certeza de que não inventamos essa ênfase em funções. Na indústria, é comum estimular desenvolvedores a usarem “funções ao invés de comentários”. Isso significa que, em vez de escrever um comentário para humanos e algum código para o computador, os desenvolvedores escrevem uma função que é lida por humanos e computadores.

Além disso, nos esforçamos muito para seguir um guia de estilo consistente. Os guias de estilo de programação fornecem diretrizes para a escrita de códigos, por exemplo, sobre onde deve haver espaço em branco e quais nomes devem ser iniciados com letra maiúscula ou não. Seguir um guia de estilo rígido pode parecer pedante e algumas vezes é. No entanto, quanto mais consistente o código for, mais fácil será sua leitura e compreensão. Pra ler nosso código, você não precisa entender nosso guia de estilo. Você perceberá enquanto lê. Se quiser conhecer os detalhes de nosso guia de estilo, acesse Section 6.2.



CC BY-NC-SA 4.0 Jose Storopoli, Rik Huijzer, Lazaro Alonso