Apreendendo a automatizar tarefas da pior maneira possível

Vinicius Souza B.
3 min readFeb 7, 2016

--

É quase senso comum no meio de programação que muitas vezes nós, programadores profissionais, procuramos a lei do menor esforço possível. Também é senso que as vezes o cansaço ou preguiça são soberanos depois de jornadas diárias de trabalho, somadas a cursos, leituras, freelas e outras coisas pendentes, portanto sempre queremos que o dia tenha mais de 24hs. Também não é estranho notarmos que a pilha dessas coisas pendentes sempre é acrescida frente a outra, bem mais modesta, que é a pilha de realizações(ou tarefas concluídas).

O meu pai, sempre que possível, em seus momentos de "lição do he-man" dizia a máxima que "o preguiçoso faz o serviço duas vezes" e o pior jeito de descobrir isso é quando você se vê obrigado a refazer um trabalho, seja por ter deixado de fazer algo no meio do caminho ou achando que nunca mais ia precisar mexer ou repetir aquela tarefa. E foi exatamente o que aconteceu comigo.

Nós sabemos que customizar seu shell, ou terminal(chame como quiser), é uma tarefa simples que não leva mais que algumas horas, dependendo de quão indeciso você seja. Escolher um shell, um Color Theme, adicionar seus alias e etc. Tudo isso é trivial, mas é extramente CHATO se você tem que fazer repetidas vezes. Esses dias precisei retornar para sede da Consultoria onde trabalho e nesse período tive que trocar de máquina três vezes, por razões diversas, me readaptando novamente ao Linux. Então no fim do dia eu queria basicamente, as seguintes coisas:

  • Instalar o Terminator, como client padrão.
  • Usar o Zsh em vez do Bash.
  • Instalar o framework .oh-my-zsh para o terminal.
  • Adicionar o tema Powerlevel9k, que deixa o terminal similar ao Powerline para Vim.
  • Adicionar as Powerline-fonts, que são necessárias para exibição correta das barras e dos ascii-symbols para o tal tema Powerlevel9k.
  • Adicionar alias básicos para o .git e para o .zshrc
O oh-my-zsh com o tema Powerlevel9k.

A idéia aqui não foi fazer um shell script interativo e rebuscado, apenas algo que automatizasse de maneira simples uma tarefa comum, mas que se torna chata se você precisa repetí-la sempre que ganhar um novo computador. Agora em vez de ficar abrindo várias abas, lendo os mesmos README.md de sempre e tentando lembrar dos detalhes das minhas configurações, eu só preciso rodar algo como:

sudo sh terminator-zsh-with-powerlevel9k.sh

E voilá!

Esse é só um exemplo simples de como automatizar um processo pode salvar tempo útil da nossa vida, mas todo desenvolvedor sério tem na cartola suas configurações em algum canto, que além de economizar tempo, é também uma forma de ter documentado hoje as configs que você pode vir a esquecer um dia . Isso é extensível para shell, para instalar seu Editor de código predileto com snippets, alias, temas e etc. Enfim, para tudo e qualquer coisa que você possa documentar e guardar em algum script, se possível.

Chad Fowler aborda a "automatização", além de um simples shell obviamente, no capítulo 18 do livro "The passionate programmer" — ou "O programador apaixonado (Casa do Código)". Todos nós sabemos a importância desse tema, mas entre teoria e prática há um abismo imensurável. Então seja ao menos um preguiçoso inteligente e se dê ao trabalho somente uma vez, não faça como eu. rs.

--

--