Seja, Bem-Vindo

Seja, Bem Vindo

quarta-feira, 10 de abril de 2013

POG: Programação Orientada a Gambiarras



Programação Orientada a Gambiarras, ou somente POG, é uma técnica avançada de desenvolvimento de software que tem como base a utilização de todo tipo de gambiarra, remendo e tudo de pior que um código pode ter. POG se baseia em conceitos como duplicação de código, fluxos redundantes, tarefas desnecessárias e reinvenção de rodas.


Clique na imagem para Visualizar: 




A primeira POG que se tem notícia é datado de 1582 d.C. O nome desta POG hoje é chamada de Ano Bissexto e foi criada pelo Papa Gregório XIII. Esta POG foi aplicada quando descoberto que a Terra leva 365,25 dias para dar uma volta no Sol, porém nosso calendário tem apenas 365 dias, o que leva a uma diferença de 6 horas por ano. Ao invés de corrigir o “sistema” para que não houvesse essa diferença, a solução adotada pelo Papa foi: “A cada quatro anos, é só colocar mais um dia ali”.

Acredita-se que a POG está presente desde os primórdios da criação de software. Alguns até dizem que ela já existia desde a época de cartões perfurados. POG mantém sua evolução ao longo do tempo, onde perdurou com a programação estruturada e atingiu seu ápice com o surgimento da orientação a objetos.

Se você não conhece POG e não está entendendo nada, leia esse artigo para entender melhor.

No meu primeiro post havia mencionado que iria mostrar alguns códigos POG que tenho encontrado durante esses 10 anos que trabalho com desenvolvimento de software. Relutei quase um ano para tocar no assunto, tentando até certo ponto preservar os autores dos códigos POG que encontrei pela frente.
Mas outro dia me deparei com um trecho de código que me serviu de motivação para publicar os exemplos de POG que tenho guardado

Observação importante
Não estou aqui dizendo que sou um programador perfeito, que não cometo erros ou que escrevo o código mais limpo do mundo. Com certeza eu já fiz alguma POG, seja por falta de conhecimento ou por falta de opção. O ponto aqui é aprender com os erros, os seus e os dos outros.
Por outro lado, eu me esforço para aprimorar a qualidade do meu código a cada dia. Isso se dá com a prática do dia-a-dia, trocando experiências com outros desenvolvedores, lendo o código dos outros, fazendo programação pareada e estudando e lendo muito. Também sei que sou detalhista, sistemático e até certo ponto chato em relação à qualidade de código. Um código ruim me incomoda, mesmo que esse código produza o que se espera dele.
Além disso, todo e qualquer código POG que eu venha a publicar aqui foi escrito por desenvolvedores experientes (ou que se diziam experientes). Achar defeitos em código de um programador iniciante ou um estagiário é fácil, publicá-los seria puramente sacanagem.

Nenhum comentário:

Postar um comentário

Obrigado pela Visita !