1 de maio de 2010

Você ama seu código?

Algum tempo atrás, numa das comunidades de programação que participo, alguém pediu "ajuda" para resolver um problema com matrizes. Era, provavelmente, um iniciante querendo uma solução fácil para um trabalho de faculdade. Não era algo complexo, mas se tratava de um desafio interessante. Naquele mesmo dia, à noite, implementei uma solução para o problema. Fiquei feliz por ajudar o aspirante a programador, mas confesso que o amor ao próximo não foi o único motivador da minha ajuda.

Acredito que algo semelhante aconteça com muitos dos talentosos programadores que apóiam produtos open source. Não creio que seja apenas o interesse em contribuir com a liberdade de usar, estudar, modificar e distribuir software[1] o que os motiva a trabalhar em prol de algo que não lhes dará retorno financeiro direto. Concordo com Mårten Mickos, ex-CEO da empresa que criou o MySQL, que cita[2] o desejo de "construir uma reputação" como um dos maiores motivadores. Como essa reputação é construída? Escrevendo código útil e de qualidade. Eles amam programar, amam o código que escrevem e amam a reputação que isso lhes dá.

Acho que a maioria dos programadores não ama seu código. Se amassem não escreveriam código de tão má qualidade. Ou será que amam seu código, mas simplesmente não se dão conta de que escrevem código ruim?

Quando preciso fazer manutenção em algum código escrito por outro programador, é inevitável fazer algumas suposições sobre esse programador. Dois exemplos comuns são:

  • Não é prático: criou uma solução extremamente complexa sem necessidade;
  • É desleixado: a organização do código é terrível e nada recebeu um nome adequado (variáveis, classes, funções etc).

Por causa dessas suposições alheias que faço, ao codificar a solução de algum problema em software, sempre penso no que meu código dirá a meu respeito. Isso me motiva a fazer um bom trabalho. Por acreditar que bons programadores terão uma impressão positiva a meu respeito ao olhar o código que escrevo, eu amo meu código.

É claro que escrever código de qualidade é um desafio quando o prazo é curto e a pressão é grande, mas isso é papo para outra thread.

A propósito, aqui está o problema e a solução (em Pascal) que citei no início.

E você, ama seu código?

[1] ^ Open Source Initiative. "The Open Source Definition"

[2] ^ MIT Sloan Management Review. "The Oh-So-Practical Magic of Open-Source Innovation"

Postar um comentário