Complexidade é diferente de qualidade

Um conceito que tem se difundido hoje em dia é de que o programador profissional é aquele que adota uma série de aparatos, entre os quais libs, frameworks, controladores de versão, bugtrackers, IDEs, builders, enfim… a lista é infinita. E para estes desenvolvedores, todos aqueles que não usam estes recursos são, por definição, programadores amadores.

Reconheço a importância de todas estas ferramentas, como também reconheço que cada uma tem o seu uso específico e que dificilmente um projeto de software fara uso de todas elas. Entretanto estas ferramentas exercem um certo fascínio sobre alguns programadores, de modo que eles não conseguem separar o que realmente é necessidade e o que é apenas um recurso legal (que um dia pode ser usado ou não). Eles encontram uma novidade na internet e já querem incorpora-la ao seus projetos. É isso mesmo, já presenciei diversos desenvolvedores que criam uma necessidade que na verdade não existia, apenas para fazer uso de uma ferramenta que está na moda. Este comportamento acarreta um série de problemas e complexidades desnecessárias que impactam e muito no resultado final de um software. Os programadores ficam dependentes das ferramentas e quando se veem em uma ambiente em que elas não estão acessíveis, simplesmente são incapazes de usar o que tem para codificar.

A administração de toda esta parafernália (atualização, integração com sua IDE favorita, etc) toma tanto tempo do programador que não sobra tempo para codificar a funcionalidade do sistema. Alguns passam dias navegando a procura de uma lib que implemente uma funcionalidade que a própria API da linguagem provê, mas ele não conhecia, porque estava ocupado demais procurando libs de terceiros ao invés de estudar o manual da linguagem. Já presenciei casos de programadores incrivelmente experientes em toda essa parafernália mas que tinham dificuldades em um código simples de dois ou três laços encadeados, ou clássico caso do programador que pergunta “Como faço um alert em Jquery ???”. Meu deus, o alert nativo do Javascript já é simples o suficiente, não precisa de uma camada para implementa-lo novamente.

A internet e o engajamento dos desenvolvedores no software livre facilitou o acesso a infinitas ferramentas que ajudam sim (e muito) nossas tarefas, mas seja crítico! Se o desenvolvedor de um framework diz que ele é incrível, não quer dizer que automaticamente ele se comportará assim no seu projeto. Estude primeiro a API da sua linguagem, não deixe seu sistema totalmente dependente de uma ferramenta de terceiro, esteja pronto para substitui-la de alguma forma caso o desenvolvedor deste recurso deixe de suporta-lo. Simplifique, seu foco é o código!

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s