Conhece a POG? Tenho certeza que sim!

Para o desenvolvedores, a primeira impressão diante da definição da POG é uma bela gargalhada. Nada melhor do que a própria definição:


Definição de POG

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.

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 brasileira, “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.

O pessoal da equipe de desenvolvimento com que trabalho não conseguiu resistir nem à primeira definição.


Mas venhamos e convenhamos, o motivo de tanta risada não foi só o texto bem elaborado, mas o sim o fato de muitas dessas definições refletirem muitas verdades que vivemos no dia a dia. Alguma delas são no mínimo fundamentais:


Nonsense Flag

Por um legítimo impulso gambiarrizador solucionador de problemas, o desenvolvedor salpica um monte de variáveis com nomes sensacionais como “newCounter2“, “jaTrocouDeAba“, “passouPorAqui“, “numeroMagico“, “naoAchou” e etc.

Mega Zord

Programadores dos anos 80 o conhecem como Daileon. Semelhante ao padrão Lone Wolf. Motivo: criar várias funções, cada uma executando um passo de um algoritimo, causam lentidão no sistema por este ter que interromper seu fluxo para chamá-las. Esse problema pode ser resolvido com uma única e gigante guerreira função, que recebe vários parâmetros que definirão o que esta deverá fazer. Geralmente usado em conjunto com Nonsense Flag.

Exemplo(Atenção! A quebra de linhas foi usada aqui apenas para melhor entendimento! Evite essa prática! Escreva os parâmetros todos em uma única linha para não comprometer a eficiência do código!!!):

//Processa
public static Object processar(String file, int dados, char variavel, Object status, int linhas,
String query, String usuario, string senha, String banco,
String host, int dia, int mes, int ano, Object entrada,
Object saida)
throws Exception {
//Aí é aquilo, mermão…


return processado;
}

Esse padrão também pode ser usado com SQL. SELECTs aninhados devem ser evitados pois diminui a eficiência, foda-se se ninguém entender que merda aquilo faz.


Simplesmente fantástico! Você programador, se sentir-se tão familiarizado quanto eu fiquei, bem vindo ao clube!

Abraços

Tomás

Fonte: http://desciclo.pedia.ws/wiki/POG

Comentários

comentários