[Info] Programação Orientada a Ganbiarras?

Started by Teotónio Ricardo, July 01, 2007, 06:16:56 PM

Previous topic - Next topic

Teotónio Ricardo

http://desciclo.pedia.ws/wiki/Programa%C3%...da_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..


 :|

masterhard

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!)
Se o mundo te virar costas, nao vires costas ao mundo, vai-lhe ao cu!
Se a Muralha da China pegasse fogo, seria a maior firewall do Mundo!
blacksheep-----fake hosting services since 1$ only for fake businessman----sponsored by ASAE
Oferecemos Cursos de Coveiro WebTuga --> O primeiro em Portugal com MBA da Independente incorporado
"Well, I guess it would be nice if I could touch your body" --George Michael\'s \'Faith\'
Sing these words in a recording studio, and you win Album of the Year. Say them in a public bathroom, and you get busted.
The basic difference is this: hackers build things, crackers break them.
O novo Windows será o Se7en. Será uma sequela do famoso filme de terror Se7en?
MADNESS?? THIS Is SPARTTTAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!!
Sponsored by InTeRnEt SeRiOuS BuSiNeSs and MiCrOsOfT SeRiOuS BuSiNeSs!
MCSE -> Minesweeper Consultant and Solitaire Expert
VISTA -> Virus Infection and Spyware Transmission Architecture

Elenta

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!!!

sp3c

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!

arkangath

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.

Teotónio Ricardo