Skip to content

POG: O que é?

A Programação Orientada a Gambiarras (POG ou WOP – Workaround-oriented programming) é um paradigma de programação de sistemas de software que integra-se perfeitamente a qualquer grande Paradigma de Programação atual.

Por definição, Gambiarra é aquilo que é de difícil concepção, de inesperada execução para tornar fácil o uso de algo que sequer deveria existir.

A Programação Orientada a Gambiarras foi uma evolução natural do uso do Programa Bacalhau, também conhecido como ATND – Artifício Técnico Não Documentado, dos anos 1.960–80, e vem de uma antiga expressão sileira, “Para quem é, bacalhau basta” (época em que o peixe seco ainda era barato). Programadores e analistas mais preocupados em usar buzzwords costumam utilizar o termo workaround para impor respeito.

Para que um programador possa exercer a Programação Orientada a Gambiarras, são necessários alguns fatores específicos, facilmente encontrados em ambientes de desenvolvimento:

  • Sistemas originalmente mal projetados;
  • Clientes chatos;
  • Usuários chatos;
  • Falta de vontade;
  • Falta de tempo;
  • Criatividade;
  • Gente que pensa que é DBA (normalmente são pessoas chatas, gordas, feias, sem certificação nenhuma e no que fizeram um curso de SQL Básico);
  • Arquiteto de software achando que é o máximo(normalmente pessoas, altas, loiras, chatas, arrogantes e metidos a sabe tudo);
  • Término do estoque de café/chá;
  • Aproximação do final da tarde;
  • Véspera de feriado/fim-de-semana;
  • Ter o Jackie Chan como chefe;
  • Ter o MacGyver como coordenador de projeto (ver Método MacGyver);
  • Governo defecando regras ou MP’s que entrem em vigor imediatamente sem dar tempo de atualizar sistemas;
  • Requisitos dinâmicos e/ou instáveis;
  • Área comercial vendendo ou pré-vendendo produtos imaginários ou inacabados com “entrega garantida em 30 minutos ou seu dinheiro de volta!”.

Reunidos, todos estes fatores transformam o programador em um gambiarrizador, espécie mais evoluída de programador, que possui curva de aprendizado e produtividade muito mais altas. Os códigos dos gambiarrizdores podem ser chamados de CACA (Código Avançado Complexo e Adaptável).

Lembre-se que a Microsoft – idealizade direitos, por isso, cuidado para você não precisar pagar royalties á Microsoft. Na próxima versão do Visual Studio, todas as POGs documentadas terão wizards personalizados. Por ser dotado de Inteligência Artificial (já que os programadores VB não possuem inteligência alguma) ele irá tornar o uso transparente ao POGramador.

Estudos realizados neste segmento, mostram que os programadores que evoluem para gambiarrizadores vivem melhor, saem as 18:00h, tem cabelos mais bonitos e esvoaçantes. Tudo pelo fato de que, em gambiarrizadores, eles entram em um estado alfa, onde tudo na vida funciona. Tudo que é impossível torna-se possível, de maneira totalmente obscura, mas possível.

Há correntes de programadores que discriminam a Programação Orientada a Gambiarras, alegando ser uma má técnica, que faz com que os sistemas fiquem lentos e ganhem bugs. Também ficou claro nas pesquisas que estes programadores só dizem isto por nunca terem evoluído para gambiarrizadores (e por isso nunca pegam mulher nenhuma). Com apenas uma evolução (ao contrário de ‘ como o Charmander, que necessitam de duas para atingir o ápice de seu desenvolvimento), 100% dos programadores admitem que a Programação Orientada a Gambiarras, definitivamente, é o melhor paradigma de todos.

Além disso, a Programação Orientada a Gambiarras, assim como outros paradigmas, deu origem a outros movimentos de pesquisa científica como Modelagem Orientada a Gambiarras (MOG ou WOM – Workaround-oriented modeling), Desenvolvimento de Sistemas Orientado a Gambiarras (DSOG ou WOSD – Workaround-oriented software development).

PPOG (Princípios da programação orientada a gambiarras) comentados:

  • Se funciona, então tá certo – Acoplado ou não, txt ou sql, mil funções ou 10, design patterns… Nada disso tem valor para o usuário, que só precisa de um software funcional. O termo “escalável” é falacioso;
  • My Way – Programador esperto, se é esperto mesmo é adepto do My Way. Se você está com dúvidas, faça do seu jeito pois se der merda é você quem vai se foder (e como);
  • Murphy ou Lei de Murphy ou Lady Murphy – Para lidar com Murphy e seu exército só com POG. Murphy é sagaz e ligeiro, tá só esperando você dar mole. Nada mais rápido do que uma gambiarrazinha pra acertar o que Murphy destrói;
  • Deixe o amanhã para amanhã – Muitos programadores atrasam projetos alegando que a demora de uma implementação para seguirem regras de design patterns ou comentários que ajudarão a outros entender melhor o código. Deixe o amanhã para o otário programador seguinte;
  • Comentários são para amadores – Um desenvolvedor deve ser treinado para ser fluente na linguagem de programação usada sem precisar de comentários, independente da consequente ruína de sua vida social. Isso também é conhecido como sétimo sentido;
  • Eficiência primeiro – Evite escrever em várias linhas o que pode ser feito em uma;
  • Fé em Deus – A informática é levianamente definida como ciência exata, quando esta é na verdade uma ciência holística. Vários casos reais de divina Providência foram testemunhados em ambiente fiéis aos princípios ruins foram exorcizados, e a paz instalou-se graças a fé dos gambiarrizadores;
  • 1337 h4x0r5 dud3 lol – Quanto mais ilegível, mais respeitado o código é. Consequentemente menos alterado ele é, e mais estável o sistema fica, garantindo a empregabilidade do gambiarrizador;
  • A ocasião faz o ladrão – Em determinados momentos não conseguimos escapar dela;
  • Capacidade de Abstração – Este conceito se baseia em focar-se no problema e desconsiderar conceitos e dados deios para atingir o objetivo, ou seja, o Programador deve abstrair tudo que lhe faça perder tempo como regras de negócio desnecessárias ou tratamentos de erros;
  • Conclusão Hipotética Universal Técnica Explicativa – Quando nenhum dos outros conceitos se aplica, utiliza-se este até funcionar ou desistir (C.H.U.T.E);
  • Criatividade acima de tudo – Uma pessoa criativa não é aquela que consegue chegar a diversos lugares, mas sim, aquela que chega no mesmo lugar por diversas maneiras.. Portanto, o POGer não é nada mais do que um programador criativo, que faz a mesma coisa que outros, adotando técnicas não convencionais…

Chavões POG:

“A principio isso nao tem nada a ver com o erro, mas pode ser que tenha…. algo a ver” Programador POG, sobre o erro no programa que nao sabe da onde veio.

“Deu certo? Deixa! Funcionou? Não mexa!” Bill Gates, durante o desenvolvimento do Windows ME.

“Sem comentários…” Monkey Coder sobre POG.

“Ninguém mandou pagar pouco…” Estagiário sobre POG.

“Muito cuidado ao mexer em um POG, siga o velho ditado: Bosta seca não se mexe!” Careca sobre POG.

“O que importa são os resultados” Programadores do Google Adwords.

“Os fins justificam os meios!” Nicolau Maquiavel sobre POG.

“Travou? Tenta dar Ctrl+Alt+Del. Se não funcionar, desliga e liga de novo a máquina…” Resposta de um POG a outro sobre a execução de um LOOP do manual da POG.

“Abre no Internet Explorer que funciona” Resposta padrão do suporte sobre POG.

“Na minha máquina funcionou” Programador sobre POG.

“O importante é fazer funcionar” Programador 100% pragmático sobre POG.

“O ótimo é inimigo do bom” Gerente POG Master sobre POG.

“Ontem tava funcionando!” MPOG sobre POG.

“Assim fica mais eficiente” Satanás sobre POG.

“É só colocar um DIV ali!” WebDesigner sobre POG.

“/* só testei até aki! */” Comentário de um programador Mancebo em um arquivo.

“Não se preocupe… quando você for implementar vai descobrir a melhor maneira!” Gerente sem-noção.

“Não me interessa se é restrição da ferramenta, dá um jeito e coloca isso funcionando até amanhã!” Gerente de Projeto falando ao programador.

“Simplesmente comentei e funcionou!” MPOG.

“É facil, não vejo dificuldade em fazer isso!” Gerente sem-noção definindo prazo junto com o programador.

“Tive que arrumar direto no banco – daí funcionou! Se o problema “voltar”, nos ligue novamente” POGger sobre O Poder da Fé.

“Como não faz?! Tem que implementar, acabamos de vender o produto com isto” Gerente de vendas de uma empresa qualquer.

“O código tá certo, deve ser problema na massa de dados” Programador Experiente, com várias certificações em POG.

“Terminei, só falta testar” Programador POG as 18h00 com a mochila nas costas falando pro chefe.

“É só reiniciar que funciona!” Programador POG logo de manhã com copo de café na mão.

“Dá um Build All que funciona!” Programador VB desesperado por não saber a procedência do erro.

“Bom, deixa estourar a bomba lá, aí quando vierem me pentelhar aqui eu vejo o que faço…” Programador para outro programador só esperando o problema voltar.

“A função ficou com 3000 linhas porque é impossível deixar ela menor” Programador POG tentando se passar por expert.

“Como não funciona? Eu compilei e não deu nenhum erro!!!” Estagiário, ainda falta muito para ser um programador POG.

“Se compila, funciona!” Programador POG, usando a técnica No_Exception.

“Eu fiz somente o que foi especificado!” Analista, usando a técnica In-Diana.

“Dear Aunt, let’s set so double the killer delete select all” Software de Reconhecimento de Voz, implementado em POG.

“Hum… Que estranho… Não era para acontecer isso…” Programador iniciante na empresa.

“Que lixo que fizeram!!! Olha isso!!!” Programador POG falando sobre outro Programador POG.

“Quando eu cheguei já tava assim!!!” Gambizeiro querendo tirar o seu da reta.

“… É que 1GB de RAM é pouco! Tem que colocar mais memória!!!” POGramador sobre estouro de pilha.

“… Ah!!! Isto é um erro comum do Windows!” POGramador tentando ganhar tempo para corrigir seu código.

“Reza e cruza os dedos que vai funcionar!” POG Pai de Santo falando para um POGramador menos experimente…

“Quando eu testei, funcionou!” POGramador demonstrando as gambiarras para seu Gerente Sem Noçao.

“Se funcionou contra os aliens no Independency Day, vai funcionar com você!” Will Smith sobre POG.

“Eu modelei em POG o vírus para o PC dos Aliens em Independency Day!” Chuck Norris sobre POG.

“Meu Precioso…” Gollum sobre POG.

“O ótimo é inimigo do bom” Sauron – Master PWNER SUPREMUS sobre POG.

“POG é POG e vice-versa…” Jardel – Ex-jogador de futebol sobre POG.

“O importante são os três pontos conquistados independente de como se joga” Antônio Lopes – Treinador de Futebol sobre POG.

“Existem 3 jeitos de se fazer as coisas: o jeito certo, o errado e o jeito Maximo Poder” Homer Simpson sobre POG.

“Se não funcionar leva um Roundhouse Kick! Olha só, funcionou!” Chuck Norris, conversando com o sistema quando o mesmo travou durante apresentação ao cliente.

“O Titanic afundou por que o código do GPS dele não era POG” Leornardo Di Caprio sobre POG.

“O Transponder dos aviões não funcionou pelo mesmo motivo” Piloto sobre POG.

“Service Pack – POG compilado” Anônimo sobre POG.

“Deu certo? Deixa! Funcionou? Não mexa!” Bill Gates.

“O sistema só dá problema quando tem gente usando” Programador POG, às 18h00, indo embora, já fechando a porta e falando pro chefe.

“Porra! Quem foi o filho da puta que fez este programa?” Dercy Gonçalves ao ler um programa POG.

“Fechei todos os bugs. Estão abertos apenas os que não foram resolvidos” Programador POG, vangloriando-se por ser eficiente.

“A Informática é uma ciência exata que nunca é exata né, genti” Chefinha nada gostosa de um CPD em reunião com os programadores POG, Justificando o uso de POG e relembrando a todos que ela é a Gerente de Sistemas Internos do Interior do CPD.

“Claro que conheço POG! Acabei com toda a “lentideza” dos sistemas usando POG puro com Access” Chefinha nada gostosa do CPD antes de ser chefe, na entrevista de emprego para começar como programdora de POG no CPD.

“É hora da pamonha!” Freakzoid sobre POG.

Agradecimentos a:

Sandro J. S. Souza


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.