Tenha orgulho ou f…-se

Tenha orgulho ou f…-se

(Esse post é uma tradução (autorizada) do artigo “Take pride or f— it” do Rob Heaton)


O arquivo vazio “sem_titulo.txt” brilhando no seu editor de código só pode significar uma coisa. É hora de criar uma nova funcionalidade.

A última funcionalidade que você desenvolveu começou muito bem, com uma arquitetura esculpida tão elegante e requintada que te fez chorar um pouco quando ninguém estava olhando. Mas as coisas mudaram e no final ficou um lixo. Você não estava particularmente orgulhoso de nada e agora está feliz apenas porque isso vai sair do seu caminho. “Mas tudo vai ser perfeito dessa vez!” você diz a si mesmo e mais uma vez ansiosamente começa a trabalhar. Um pouco mais tarde você olha ao redor e sua funcionalidade que já está meio pronta já está caindo aos pedaços, está em chamas. “Droga!” – você diz.

Eu passei por isso em muitas funcionalidades e projetos. Estou cansado disso e eu sei por que isso acontece. Eu escrevo codigo bom e crio um bom produto quando eu me sindo orgulhoso do que eu estou fazendo. Esse sentimento pode vir por vários motivos – uma equipe que valoriza bom código, clientes os quais estão desesperados para testar uma nova funcionalidade ou uma sensação de habilidade e crença que estou me divertindo fazendo algo bom. Idependente de de qual seja o motivo, se ele não existir, o que eu estou fazendo ficará bem ruim.

Quando eu perco o orgulho de alguma coisa, eu paro de me preocupar se isso ficará bom ou não. O único valor que isso terá para mim é não ter mais que mexer nisso um dia. Isso sempre começa quando estragamos um pequeno trecho do código, mas apenas isso já é o suficiente. A caixa de Pandora foi aberta e a sua nova funcionalidade está infectada. Eu estrago o próximo trecho de código com apenas um pouco de remorso e a partir desse ponto, eu não vou mais vou me importar com isso.

Porque eu sei que você tem que ENTREGAR, que os usuários não se importam como está o seu código, que essa funcionalidade é REALMENTE CHATA e eu só quero começar outra. Então não importa se meus models conhecem a lógica das minhas views, porque levaria 20 minutos que NÓS NÃO TEMOS para resolver isso. Estou fugindo das regras, mas é somente em um ou dois métodos.

Mas isso nunca acaba aí. Essa funcionalidade, ou talvez o produto inteiro, estejam contaminados. Não existe mais nada para se ter orgulho. Não existe nenhuma demonstração de habilidade. Não existe uma forma de fazer que os dados parseados pelo módulo que eu acabei de escrever fiquem legíveis, porque quem vai ler com certeza não entenderá de onde os dados vem. Eu já liberei os cães do inferno e cobri todo o meu código com bacon.

Perder o orgulho do que você faz te transforma em um zumbi, cujo objetivo é, além de ingerir cérebros, é terminar logo a nova funcionalidade. Isso vai acontecer, de qualquer forma. E exceto se você conseguir ter orgulho novamente, esse código não vai ficar bonito. Você tem que lembrar como isso era antes, no começo, há muito tempo atrás. Quando seus controllers eram pequenos e seus models não foram cobertos por ácidos e cacos de vidros. Pense bastante. Pense novamente.

Para minha redenção mortos-vivos, eu tenho que fazer as pazes com o que eu fiz ou então levantar e fazer uma pausa. Então, com a cabeça limpa e reabastecido com bom senso, eu tenho que decidir se quero fazer as coisas direito. Se eu não puder ou não fizer, então essa nova funcionalidade estará condenada e eu devo levar uma estaca até o seu coração e começar uma próxima coisa. Deixar o monstro a crescer e sofrer mutações não é uma opção.

Frequentemente eu sinto que estou gastando meu tempo fazendo coisas direito ou pelo menos de uma forma justificavelmente errada e isso é perdoável. Termine! Entregue! Mas um código ruim reduz a velocidade das coisas muito mais do que um bom código o faria. É muito fácil escrever alguma porcaria, ser forçado a escrever várias camadas de lixo em cima disso, gritar “espirito de LEAN STARTUP” para qualquer um que o questionar sobre o que você está fazendo. Você precisa de uma razão muito boa e imediata para escrever código ruim, ou seja, uma vaga sensação de pressão ou apatia não são suficientes.

Porque isso nunca acaba aí. E tão cedo quanto o T-virus seja produzido, você terá um apocalipse de código-zumbi em suas mãos.

  • Muito bom Caton.

    Obs.: Falta o botão de like aqui, esse post realmente merece.
    Abs.

  • Valeu Sachetto! ;)

Comments are closed.