Programadores e Códigos Legados.

Separando os Homens das crianças.


Não importa qual é a linguagem que você trabalha, se é COBOL ou PHP. Algum dia você poderá receber um baita presentinho de grego.

Mas é algo que temos que encarar como um desafio. Afinal de contas programar nada mais é que resolver problemas, não importando qual o tamanho do abacaxi que tens em mãos, para um programador de verdade uma “missão dada é missão cumprida”. Seu chefe espera isso, e seu cliente também.

As vezes nós somos muito arrogantes, mal olhamos o código legado e já saímos por aí berrando aos 4 ventos que o outro programador é um “sobrinho” só fez “cáca” e outras coisas desagradáveis.

Mas será que somos críticos também com o nosso código? Damos a ele o cuidado merecido? Comentamos o código para facilitar a vida de nossos colegas de trabalho?

Pois é … complicado viu. As vezes não sabemos quais as circunstâncias que levaram o outro programador a fazer aquela gambiarra, não sabemos se o cliente de uma hora pra outra decidiu trocar a regra de negócio e para não perder muito tempo o programador só deu uma remendada para que não tivesse que refatorar todo o código.

Vou contar uma experiência minha com um código legado. Uma cliente chegou na agência que eu trabalho e disse que um freelancer havia começado a fazer seu projeto, porém não tinha conseguido terminar. O motivo pelo qual ele não conseguiu até hoje não sei, porém não vem ao caso. Enfim, após uma reunião com a cliente, ela me explicou do que se tratava seu projeto e me passou uma lista de 38 tarefas. Algumas delas foram implementadas pela metade, outras bugadas e outras que teria que fazer do zero.

Comecei a trabalhar nesse projeto, e a pedido do meu chefe comecei a fazer as tarefas mais fáceis para acumular volume e a cliente ver que o andamento do projeto estava de vento em poupa. E fiz isso. Contrariado mais fiz. Me lembro que foi cerca de umas 6 ou 7 tarefas que conseguir fazer e testar em um dia. Pensei comigo. Nossa, irei terminar antes do previsto. Aí que começou meu maior pesadelo. Alguma das tarefas por mais que parecessem fáceis o antigo programador havia deixado tão engessado o código que tinha que refatorar praticamente todo método no controller e no model. Aí comecei a xingar o programador anterior. Mas sem antes me fazer aquelas perguntas básicas citadas lá no começo do texto. Para resumir a história eu fiquei tão chateado ( pra não usar outro termo ) que só de escutar o nome desse projeto eu já passava mal. Não sentia mais ânimo em trabalhar nele. E em minha mente criei um monstro tão grande quanto o Godzila. E os dias se passaram o prazo se esgotou e não consegui entregar o projeto completo. Então em uma conversa franca com meu chefe expliquei a ele toda a situação, que eu já estava perdendo o gosto pelo trabalho por conta desse projeto. Em alguns momentos do dia, trabalhava em projeto de outros clientes para corrigir pequenos bugs ( apagar os incêndios ) e as coisas fluíam muito natural. Mas quando voltava para esse bendito projeto legado, nossa parecia que meu dia tinha 48 horas. Ao saber disso meu chefe me olhou no fundo dos olhos e disse : Cara preciso disso. Tu é capaz. Se tu não fosse jamais teria dado esse projeto a você. E digo mais ao envés de criticar o antigo programador tu é crítico com teus códigos?

Fui pra casa pensando nisso e acabei me enchendo de ânimo novamente e consegui entregar as tarefas. Sim refatorei muito código, mas o mais importante é que matei esse monstro que criei e entreguei o projeto.

Então antes de criticarmos tudo, sejamos críticos conosco primeiro.

Like what you read? Give Daniel Vieira Makowiesky a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.