Capítulo 1 Prefácio

1.1 Notas e agradecimentos

Gostaria de iniciar este livro com algumas ressalvas. A primeira delas é que não é necessário saber programar em R para entender a mensagem que quero passar. Tentei ser o mais simples possível ao escrever, deixando abrangente para demais ferramentas, linguagens de programação, ou até mesmo hábitos do dia a dia. Um conhecimento muito básico sobre a ferramenta já vai ser o suficiente para você compreender todos os capítulos.

A segunda delas é um agradecimento, em especial a todos que estão lendo e que me auxiliaram no processo de aprendizado. Aprender R e, ainda por cima, aprender do jeito correto, é um grande desafio. Não posso dizer que sou avançado nisso, mas consigo repassar alguns conhecimentos básicos.

E a última é que eu pretendo fazer um treinamento baseado neste material. Isso não significa que o livro é descartável, ou vice-versa. Enfim, aproveitem!

1.2 Boas práticas, mas por quê?

A experiência é a seguinte: seu coordenador pediu para que você replicasse, adicionasse ou apenas modificasse algum trecho de um código. Você aceitou a demanda, pensando ser simples e rápido, prometendo que ia fazer isso em menos de cinco minutos. Então você abre o código e se depara com aquele tanto de linhas que fazem seus olhos fadigarem no mesmo instante. Você lê, relê e seis milhões de perguntas começam a percorrer a sua mente: “o que esse código faz mesmo?”, “como fizeram isso?”, “essa variável serve pra quê?”, “qual caminho que salvam esse arquivo?”.

Agora, imagine um segundo cenário, em que você é responsável por escrever um código que fará a conexão com vários bancos de dados diferentes, unificará algumas tabelas e salvará vários arquivos distintos, um em cada caminho de várias redes específicas.

Você começa a escrever seu código, e tudo vai indo bem. Você percebe que precisa carregar algumas variáveis aqui ou ali, que ainda não foram definidas, que precisa fazer mais algumas conexões e que precisa agora manipular estes dados. Mas chega um ponto em que você começa a se confundir. Suas variáveis não têm um padrão, muito menos as tabelas que você usa. Você percebe, cedo ou tarde, que aquela bagunça que criou está gerando um caos que você agora precisa resolver para dar continuidade ao seu código.

Digo: se você tem experiência com códigos e, dependendo do nível de dificuldade da demanda, fará isso sem muito esforço.

Mas o ponto é: vale mais a pena se esforçar para encontrar um par de meias no meio de uma gaveta bagunçada ou vale mais a pena se esforçar para arrumar uma gaveta bagunçada?

Nenhum dos dois! O que vale mais a pena é você NUNCA deixar a gaveta bagunçada, para que nunca seja necessário o esforço de procurar um item no meio da bagunça, nem o esforço de precisar lidar com a bagunça. É aceitável organizar algo bagunçado uma única vez. Depois disso, você só pode lidar com bagunça novamente se você se chamar Marie Kondo e ganhar dinheiro fazendo isso.

Fazer aquilo requer boas práticas, saber e querer aprender a organizar, tanto o seu código, quanto o seu ambiente, quanto a sua própria mente.

É por isso que estou escrevendo este material. Este é o manifesto da organização no R! Vamos aprender a escrever não apenas códigos eficientes, rápidos e funcionais, mas vamos deixá-los ainda mais bonitos, organizados e, principalmente, legíveis.