http://desciclo.pedia.ws/wiki/Programa%C3%...da_a_Gambiarras (http://desciclo.pedia.ws/wiki/Programa%C3%A7%C3%A3o_Orientada_a_Gambiarras)
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 ambientes fiéis aos princÃÂpios ruins, assim o mal foi exorcizado, e a paz instalou-se graças a fé dos gambiarrizadores. Vale dizer que: há mais mistérios entre o teclado e o monitor do que julga a sua vã filosofia.
* 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..
:|
lol! bora la metermo-nos num buraco so nos os 2 antes que sejamos massacrados pelos developers, developers, developers, developers, developers, daqui?
:droll: (fantastico! muito comico!)
Quotelol! bora la metermo-nos num buraco so nos os 2 antes que sejamos massacrados pelos developers, developers, developers, developers, developers, daqui?
:droll: (fantastico! muito comico!)
Massacrados por quê?
Só porque contou o segredo do sucesso na programação? :loli:
Muito bom, muito engraçado!!!
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.
costumo fazer o codigo muito muito ilegivel em java, o prof marra e a desculpa que uso é "é o meu sistema anti plagio"
erro comum em POG - ââ,¬Å"O mundo acabou!ââ,¬Â
espetacular!
Eu sou fanático pela limpeza do meu código. Sempre que faço trabalhos de grupo em programação, tenh de limpar o código para dar lugar àeficiência e claridade (já pareço os Borg). Programação àGambiarra seria para mim o anti-cristo.
Anyway os fundamentos da programação estão lá, principalmente o do "Se funciona, então tá certo"
Enfim, leitura interessante.
Já lhe tou a apanhar o geito... eheh