/ Tecnologia

Como estar preparado para o viajante do tempo?

Poucos desenvolvedores sabem, mas o código que escrevemos tem o poder de viajar no tempo. Seja daqui uma semana, um mês, um ano ou até mesmo daqui uma década, o código escrito hoje voltará a ocupar a tela do seu monitor para acertar as contas com o passado – quer você esteja preparado para isso ou não.

A verdade é que o seu código necessitará de mudanças, seja por conta de novas regras de negócio, correção de bugs, atualização das versões das tecnologias utilizadas ou refatoração. Quando esse dia chegar, as decisões do passado terão um peso enorme na complexidade de realizar a mudança necessária.

Decisões ruins tomadas hoje farão com que seus dias no futuro sejam sombrios. Não à toa, quando surge a necessidade de uma mudança, é comum que o desenvolvedor prefira refazer o código ao invés de alterá-lo.

Como estar preparado, hoje, para o futuro?

Escrever um código mutável é uma arte que exige habilidade em três competências:

1. Escrever o código com bom design;

2. Refatorar o código;

3. Escrever testes automatizados.

Antes de tudo, você precisa entender o que é um código com bom design. Um código que tenha um design pobre é, naturalmente, um código difícil de alterar. Do ponto de vista prático, "código de fácil mudança" é a única métrica que importa para definir se um código tem um bom design ou não.

Em seguida, você precisa ter a habilidade de refatorar o código. Refatoração, em sua definição formal, não adiciona um novo comportamento ao código, mas aprimora a estrutura existente tornando o código mais legível e de fácil manutenção.

Por fim, a arte de escrever um código de fácil mudança requer a habilidade de escrever testes. Os testes te deixam confiante para alterar o código repetidas vezes e, consequentemente, melhorá-lo. Testes eficientes garantem que o código continue funcionando mesmo após as mudanças.

Ter a compreensão sobre o que é um código com bom design, o que é a refatoração e ter a habilidade de escrever testes eficientes são as armas necessárias para enfrentar o viajante do tempo.

Como escrever um código com bom design, refatorar um código corretamente e escrever testes eficientes?

A arte de escrever um código não é diferente das demais, a maestria só é alcançada através de muito estudo, dedicação e prática.

Se você é um desenvolvedor Ruby e ainda tem dúvida sobre esses pontos, recomendo a leitura dos seguintes livros: