Discussão:Programação Orientada a Gambiarras
((c|Programar é a arte de fazer gambiarra com seu cartão. Boa noite nada.|Fátima para William))
SELECT * FROM Tabela
Qualquer GBD sobre POG
--
Agora uma pá de gente deve tá passando por essa página. Se forem alterar, leiam antes "Como ser engraçado e não apenas idiota". WendelScardua 18:33, 4 Outubro 2006 (EDT)
POGramador relata[editar]
Olá, gaylera. Sou especialista em POG, e tenho isto no meu currículo (no momento desempregado). E sempre encontro a melhor (pior) forma de utilizar esta técnica milenar, de forma que sempre que crio um programa, tenho a fidelidade do meu cliente para sempre (já que ninguém mais consegue mexer nos meus POGs e aproveitar meu trabalho). Porém venho,
por meio deste, afirmar que algumas citações não têm graça, e outras que tinham graça foram retiradas, este artigo está todo POGado. Achei ótima a do dia 29 de fevereiro, na verdade é assim que chamo minha técnica de POGramação. O_Papa_eh_POG_o_POG_nao_poupa_ninguem = true (if poupado $no_poupar.new = No_Poupar end). Vocês podiam colocar a do dia de fevereiro novamente e falar do Papa. Mensagens de erro repetidas podem ser retiradas, e algumas outras. Troquem o hino POG do BOPE pelo que o amigo POGramado comentou lá embaixo.
Ops, comentários? Em Esparta não temos isto! Vocês também podiam tirar códigos grandes em excesso do artigo e alguns vocês podem substituir por outros menores. Adicionei um lema para POG. Coloquem:
"Programação requer criatividade para encontrar soluções. Gambiarra por gambiarra o código fica pronto. O importante não é a gambiarra inicial, e sim o plano de execução final. Funcionou? Deixa! Deu certo? Não mexa! Somos os POGramadores e fazemos a programação do mundo moderno. Follow us on Twitter!"
Seção SÓ pra POG[editar]
Parece que tão usado o artigo pra desabafo. Tudo que veêm de código tosco ou ouvem de sem noção no trabalho jogam no artigo. Acho que seria uma boa cria uma seção só de POG. Os Design Patterns já foi. Daqui a pouco vai ter que ser com exemplos de código e princípios POG.
Gambiarra até pra fazer sugestões[editar]
Desculpem-me mas esse foi o único jeito que encontrei para dar minha sugestão para a segunda parte do hino POG do BOPE, pois não é mais possível editar a página. Segue aí...
"Homem de preto, qual é sua missão? Destruir tabela e deixar banco no chão!"
Saudações...
Urgente[editar]
E se nao fosse o POG nao haveria nada! essa imagem tem q tah na page: http://en.wikipedia.org/wiki/Image:PunchCardDecks.agr.jpg
huahuhuahuahuauhahua
c quiserem incluir esse suporte maravilhoso de um amigo meu:
sujeito: a muié mando avisar q o computador dela trava qdo ela para de digitar suporte: ué.. manda ela num parar....
fora a fita crepe em cima dos resets escrito "aperte antes de ligar para o cpd"
eu quase morro de rir lah....
Deveriam subduvidir o artigo[editar]
Esse artigo tá muito grande, claro que eu naun quero que tirem coisas dele pois tem muita coisa boa, mas poderiam subdividir em outros artigos. Exdeathbr 17:01, 13 Novembro 2007 (BRST)
[JS] Sugestão - Validação de email da minha faculdade[editar]
Olá, esse código JS a seguir é como o sistema da universidade que eu estudo valida emails... Já estou chamando de uma nova modalidade... EXTREME POG.
function fc_critica_e_mail_ok (ds_e_mail) { if (ds_e_mail.length == 0) { return false; } if (ds_e_mail.indexOf("@.") != "-1" || ds_e_mail.indexOf("\"") != "-1" || ds_e_mail.indexOf(" ") != "-1" || ds_e_mail.indexOf("'") != "-1" || ds_e_mail.indexOf(";") != "-1" || ds_e_mail.indexOf(",") != "-1" || ds_e_mail.indexOf("{") != "-1" || ds_e_mail.indexOf("}") != "-1" || ds_e_mail.indexOf("[") != "-1" || ds_e_mail.indexOf("]") != "-1" || ds_e_mail.indexOf("<") != "-1" || ds_e_mail.indexOf(">") != "-1" || ds_e_mail.indexOf("?") != "-1" || ds_e_mail.indexOf("|") != "-1" || ds_e_mail.toUpperCase().indexOf("@NÃO-DIVULGADO") != "-1") { return false; } if ( ds_e_mail.indexOf("@") == "-1" || ds_e_mail.indexOf(".") == "-1" || (ds_e_mail.indexOf("@") + 1) == ds_e_mail.length || (ds_e_mail.indexOf(".") + 1) == ds_e_mail.length) { return false; } return true; } function fc_critica_formulario_ok (fm_e_mail) { var fg_sem_erro = true; if (!fc_critica_e_mail_ok(fm_e_mail.p_ds_e_mail.value)) { alert ('E-mail inválido.'); fg_sem_erro = false; } return fg_sem_erro; }
Sugestões[editar]
Estive andando pelo meu HD e achei esta pérola:
O jeito mais porco de fazer um programa auto-deletável: (Delphi)
unit Unit_AutoDelecao; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TDriveType = (dtUnknown, dtNoDrive, dtFloppy, dtFixed, dtNetwork, dtCDROM, dtRAM); TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} function GetTmpDir: string; // Get the windows temporary directory var pc: PChar; begin pc := StrAlloc(MAX_PATH + 1); GetTempPath(MAX_PATH, pc); Result := string(pc); StrDispose(pc); end; procedure DelExe; // procedure to delete the current program function GetTmpFileName(ext: string): string; var pc: PChar; begin pc := StrAlloc(MAX_PATH + 1); GetTempFileName(PChar(GetTmpDir), 'EZC', 0, pc); Result := string(pc); Result := ChangeFileExt(Result, ext); StrDispose(pc); end; var batchfile: TStringList; batchname: string; begin if (TDRiveType(GetDriveType(PChar('C:\'))) = dtFloppy) or (TDRiveType(GetDriveType(PChar('C:\'))) = dtFixed) then begin batchname := GetTmpFileName('.bat'); FileSetAttr(ParamStr(0), 0); batchfile := TStringList.Create; with batchfile do begin try Add(':Label1'); Add('del "' + ParamStr(0) + '"'); Add('if Exist "' + ParamStr(0) + '" goto Label1'); Add('rmdir "' + ExtractFilePath(ParamStr(0)) + '"'); Add('del "' + GetTmpDir + ExtractFileName(ParamStr(0)) + '"'); Add('del ' + batchname); SaveToFile(batchname); ChDir(GetTmpDir); WinExec(PChar(batchname), SW_HIDE); finally batchfile.Free; end; Halt; end; end //else with Owner as TForm do Close; end; procedure TForm1.Button1Click(Sender: TObject); begin DelExe; end; end.
por favor tirem a palavra "gordos" do texto[editar]
por favor tirem a palavra "gordos" do texto
Ecziste algum motivo aparente para a retirada? E, se provavelmente existir, onde estaria? Duque SLBENFICAOBDdiscussão
Limpeza[editar]
Essa página está necessitando de uma limpeza. Está se tornando mais uma coleção de códigos que fazem qualquer coisa sem demonstrar nenhum conceito a mais de POG do que um artigo. Esse excesso de códigos também está deixando o artigo cada vez mais desestruturado Acho que seria bom deletar os códigos mais idiotas. Ou então dar uma boa mexida na estrutura dele. —o comentário precedente deveria ter sido assinado por 201.10.187.14 (discussão • contrib.)
Limpeza ???? Esta zona é POG !!!!
Sobre códigos[editar]
Galera, eu acho interessante quando incluirmos códigos, que outros não alterem, pois o que muitos de nós estamos incluindo são códigos reais, que podem não compilar, mas são exemplos de pérolas criadas pelos Mestres.
O que vocês acham?
Eu acho ruim. Existe muito mais código POG do que código Não-POG no mundo (google.com/codesearch que o diga). Se todo mundo for colocar tudo quanto é tipo de código POG aqui, a página não vai mais carregar de tão grande :-) Seria a mesma coisa que a página de Cheiramento de Gatinhos passar a ter uma lista de todas as espécies de gatos do mundo, e seus efeitos colaterais ao serem cheirados. *Perde* *a* *graça* WendelScardua 22:05, 27 Outubro 2006 (EDT)
Ah sim, lembre de, aqui na discussão, usar 4 tils para inserir assinatura: ~ + ~ + ~ + ~ = WendelScardua 22:05, 27 Outubro 2006 (EDT)
Eu concordo, pois assim perde a graça, você coloca um código POG, vem uma outra pessoa e arruma de acordo com a sua vontade e o código perde o sentido... --DexterDF 15:01, 30 Outubro 2006 (EST)
PHP[editar]
Apaguei uns códigos em php pq não tinham a menor graça. Tem gente que fica se repetindo nos conceitos, um exemplo já tá bom e que fique o exemplo mais POG.
Gambi Design Patterns[editar]
Voto pela criação de um artigo só pro Gambi Design Patterns e um link do artigo sobre POG pra ele.
- Fifteen Cent 12:47, 10 Dezembro 2006 (EST)
Aprovado! SEU EMO(lol, zuera =P, ou talvez nao)
- --'''Samuelgames''' 8D 22:15, 23 Fevereiro 2007 (BRT)
Aprendendo a fazer algoritmos seguros e confiáveis para a vida toda - by um MPOG[editar]
Fragmento de código de um MPOG "esclrerozado" e sempre preocupado com a confiabilidade do código.....
function FaizOSirviço() : boolean; var i : Extended; // Note que a variavel "i" não foi utilizada mas ... se precisar ... jah estah ai... NumRegistros : Double; // Vai que o Dataset tenha muitas linhas..... RegistroAtual,RegistroAtualOld : Currency; DataSet : DataSet; begin if DataSet.Active then DataSet.Close; DataSet.Close ; // Importante garantir que o DataSet está fechado.. de um jeito ou de outro DataSet.CommandText := 'select * from notafiscal'; // importante selecionar todos os campos nunca se sabe quando vamos precisar de um ou de outro; DataSet.Open; NumRegistros := DataSet.RecordCount; // Agora vamos percorrer o Dataset da forma mais segura e confiavel possível... sempre buscando evitar que este entre num loop infinito... RegistroAtual := 1; RegistroAtualOl := 1; while ((not DataSet.Eof) and (RegistroAtual <= NumRegistros )) do begin RegistroAtual := RegistroAtual + 1; // o ideal seria Inc(RegistroAtual) pq é mais elegante...... /// mas é bom fazer um teste para ter certeza que a variavel "RegistroAtual" foi realmente incrementada... portanto: if Abs(RegistroAtualOld - RegistroAtual) = 1 then begin RegistroAtualOld := RegistroAtual; // Pronto, a variavel jah pode ser usado na proxima iteração... end else begin Showmesage('A variavel "RegistroAtual" não pode ser incrementada.. contacte o programador urgentemente...') end; . . . // Faz o que tem de fazer..... if RegistroAtual >= Dataset.RecordCount then begin Result := True; // Sai fora e resulta verdadeiro pois já chegou a fim do Dataset; Exit; end else // mais uma verificação para garantir.... begin if RegistroAtual >= Dataset.RecordCount then begin Result := True; // Sai fora e resulta verdadeiro pois já chegou a fim do Dataset; Exit; end; end; DataSet.Next; end; Result := True; // Ao final resulta verdadeiro pois o código nao tem como falhar// Seguraça...confio no meu taco... end;
Livro da O'Reilly[editar]
Fiz uma paródia de capa de livro da O'Reilly sobre os Gambi Design Patterns e coloquei no artigo.
- Fifteen Cent 21:22, 10 Dezembro 2006 (EST)
Ajeitada nos Gambi Design Patterns[editar]
Não estou logado mas sou o Fifteen Cent. Dei uma ajeitada nos Gambi Design Patterns. Ficou mais limpo de se ver.
Esse artigo eh muito foda[editar]
Elejam ele como o melhor. Geral da faculdade aqui rindo com essa porra.
À gambiarras[editar]
Sem querer ser chato, mas já sendo, acho que o título correto seria "Programação Orientada à Gambiarras" (Com crase no à)
o "a" nesse caso leva crase, se substitirmos "Gambiarra" por algo masculino, fica "ao"
"Programação Orientada ao Mau gosto" 201.64.19.119 17:42, 19 Dezembro 2006 (EST)
Não cheire gatinhos.
O certo é "Programação Orientada a Objetos", e não "Programação Orientada aos Objetos"
WendelScardua[talk][contrib] 00:49, 9 Fevereiro 2007 (BRST)
Querendo ser ainda mais chato, vai contra à norma culta da língua a expressão "Programação Orientada à Gambiarras" pois, primeiro, não concorda em número; "às Gambiarras" concordaria em número mais, ainda assim, estaria errado pois não há qualificação para o substantivo "Gambiarra" que justifique a presença do artigo junto à preposição (o que forma o "a" craseado é a soma dos dois, sabia ?). Portanto, nomenclatura correta: "Programação orientada a Gambiarra" ou ainda "Programação orientada a Gambiarras"
Artigo muito grande[editar]
Podia-se quebrar ele em artigos menores. São muitos Gambi Design Patterns, exemplos de códigos em milhões de linguagens... Seria legal criar até uma categoria só pra POG na desciclopédia.
Fifteen Cent 18:56, 22 Dezembro 2006 (EST)
Organização dos exemplos[editar]
Organizei os exemplos de POG em ordem alfabética. Fifteen Cent 10:39, 27 Dezembro 2006 (EST)
Código Bacalhau[editar]
Eu sempre aprendi que um programa "Baca"(lhau) era aquele que ao ser necessário ver o código-fonte fedia (o programador torcia o nariz) e estava sem cabeça (ninguém era capaz de dizer que codificou...).
Seção[editar]
bom, tem uma seção recentemente adicionada, foi TADG (Técnicas Avançadas DEBUG para Gambiarras), feito por Pype.
Eu não mexi no código, apenas fiz correções menores como ortografia e concordância da descrição.
só achei um pouco estranha a conclusão dessa seção, que se refere ao código(provavelmente):
IMPORTANTE : Caso você não consiga mostrar o display na tela, poderá utilizar o método erro condicional colocando um comando que não existe para dar páu direto.
se você colocar um comando que não existe, provavelmente não compila... Eu acho mais coerente colocar um tratamento de exceção ;]
outra: existe alguma regra para colocar as novas citações ou exemplos de patterns?
ex: Colocar as novas em cima.
Valeu pela atenção,
Mostrow 18:36, 8 Fevereiro 2007 (BRST)
Depende da linguagem. Tem linguagem que dá pau só na hora de chamar a instrução e ver que ela non ecziste...
WendelScardua[talk][contrib] 00:50, 9 Fevereiro 2007 (BRST)
Certificado "P.O.G."[editar]
Certificado "P.O.G."
Arquivo:Http://paginas.terra.com.br/informatica/webtas/images/Certificado MacGyver Preview.jpg
http://paginas.terra.com.br/informatica/webtas/images/Certificado_Vazio.jpg
Design Pattern CCOP[editar]
Me parece desnecessário já que é o plágio do RCP. Sugiro levar uma ou duas frases(ou até menos) do CCOP para o RCP e eliminar o CCOP. Abraços, Coxambra Mande seu recado 01:48, 21 Abril 2007 (BRT)
Um exemplo de POG americano[editar]
http://home.att.net/~rmestel/articles/real_programmers.txt
O verdadeiro gambiarrizador dos tempos que se ainda usava memórias de tambor.
(Enquanto vocês lêem eu estou tentando implementar a "Soma sem sinal" em Assembler. Pedido do professor de TLP).
Gambis de sql[editar]
Estava no trabalho quando me deparei com um comando para economizar a lógica do and (sabe quando você tem varios if que concatenam um comando sql e qualquer uma das linhas pode ser a primeira) Ao invés de fazer uma flag para o and o código simplesmente iniciava a sql com "0=0" :P Outra gambi é um framework que monta uma sql até certa parte do where e vc pode implementar uma função que retorna uma parte do where da query. Digamos que por algum motivo qualquer você precisa que esta query não retorne nenhum resultado. A solução: concatenar "1=0" :D
Mudança[editar]
Movi os exemplos nas linguagens para um artigo novo, como ocorreu com o "Gambi Design Patterns" Fifteen Cent 23:36, 6 Agosto 2007 (BRT)
Em Debugação Através da Técnica IPG[editar]
"Lembre-se, um bom programador POG controla versões com arquivos zip, sempre mais práticos do que aquele monte de comandos chatos e difíceis de decorar do CVS."
Na verdade um bom programador controla versões, quando controla, com comentários no código ou, NO MÁXIMO, através de e-mails mandados para ele mesmo (até pq o gmail é mais confiável do que seu HD), sem registrar as mudanças por escrito, claro.
Indo contra os mandamentos...[editar]
O artigo é bom, mas existem demasiadas citações... 2) Não encha os artigos com demasiadas citações!
Isso porque, há pessoas que não leram outras duas regras também: 7) Não utilize a Desciclopédia para praticar Humor Privado. 8) Seja engraçado, e não apenas idiota. Na dúvida, escreva bêbado.
Parece que existe administrador que não sabe disso e volta as correções que são feitas.
O Artigo virou um Frankenstein[editar]
Venho acompanhando este artigo desde o final de 2006 e vejo que cocozão ele se transformou. Às vezes tentei ajudar a organizar, mas ALGUÉM sempre revertia as alterações deixando cada vez mais bagunçado, e bagunçado, e bagunçado, e bagunçado... Agora tá ae, sofrendo de elefantíase, quase sem graça, irreconhecível. Espero que percam um pouco da mentalidade "time que está 'ganhando' não se mexe" e comecem a tirar as citações toscas.
Vou fazer isso agora, vamos ver no que vai dar.
Fifteen Cent 22:44, 23 Outubro 2007 (BRT)
- Bacana, agora minha sugestão é: Por ser o artigo de maior popularidade na DPédia sugiro que você faça o seguinte: Coloque aqui na discussão aquilo que você removeu, com o intuito de registrar não somente da forma tradicional as alterações, da seguinte forma:
- Limpeza
- Tirei X
- Modifiquei Y
E sua assinatura em baixo.
Pode ser um pouco chato, mas como o POG é o filho mais ilustre da DPédia ele merece um tratamento carinhoso. Abraz, Coxambra Mande seu recado 23:04, 23 Outubro 2007 (BRT)
- Outra sugestão: Voltar com os chavões POG todos para o artigo original e fazer uma limpeza deixando apenas os melhores, ou todos. Acho que ficar fatiando o artigo o torna mais Frankstein do que já está. Ou tudo lá ou tudo aqui na minha opinião. Abraz,
Coxambra Mande seu recado 23:07, 23 Outubro 2007 (BRT)
- Outra sugestão: Voltar com os chavões POG todos para o artigo original e fazer uma limpeza deixando apenas os melhores, ou todos. Acho que ficar fatiando o artigo o torna mais Frankstein do que já está. Ou tudo lá ou tudo aqui na minha opinião. Abraz,
Limpeza[editar]
Devido o artigo ser grande e desorganizado, resolveu-se que ele entrará em um processo lento e cuidadoso de re-edição. As partes editadas devem ser notificadas aqui, seguida pela assinatura do editor. Eu fiz a minha parte.
Edição de Coxambra[editar]
- Removi a versão em java do GambiSort. Pela versão em Pascal é perfeitamente visível o funcionamento do método de ordenação:
Agora tb na versão java. public class gambisort { public static void main(String args[]) throws Exception{ int[] ordenar = {5, 2}; int[] listaordenada = new int[ordenar.length]; int i = 0; int c = 0; boolean sair = false; while(true) { i++; for(int j = 0; j < ordenar.length; j++) { if(ordenar[j] == i) { listaordenada[c] = ordenar[j]; c++; } if(c == listaordenada.length) { sair = true; break; } } if(sair) break; } } }
Coxambra Mande seu recado 23:30, 23 Outubro 2007 (BRT)
Edição de (????)[editar]
((c|Programar é a arte de fazer gambiarra com seu cartão. Boa noite nada.|Fátima para William))
SELECT * FROM Tabela
Qualquer GBD sobre POG
Edição de Fifteen Cent 23:41, 23 Outubro 2007 (BRT)[editar]
- Citações retiradas:
"We Have a problem!!"
NASA sobre POG
"É complicado e é pra ser!"
Coodernador POG
"Refazer o calendário?! Não.. coloca mais um dia ali em fevereiro.."
Papa Gregório ao criar o ano bissexto - O primeiro POG
"Um sistema não pode estar completo sem POG. Coloca um Go To que você economiza código"
Jairo M. - POGamador Senior
Exception When OTHERS Then Resume.
PL/SQL sobre POG
java.lang.NullPointerException.
Java sobre POG
On Error Resume Next
Visual Basic sobre POG
Parse Error.
PHP sobre POG
Error in your MySQL Syntax.
MySQL sobre POG
Errors detected during compilation.
Caché Object Script sobre POG
Não tenho outra saída ... Golpe do João sem Braço! (POG ou AJA - [Armless John`s Attack])
Alunos desesperados que deixaram um trabalho, que o professor entregou no início do semestre, para fazer na última hora.
Precisa recompilar o kernel!
Analista de Suporte sobre POG
Como não funciona ? Eu só recompilei...deve ser um problema no servidor
Resposta do bem sucedido Programador Senior POG
Deve ter ficado alguma coisa atravessado no banco
Programador POG
Eu fiz isso porque se não vai dar pau...
Professora de linguagem de POGamação aos seus alunos
Ninguém mandou pagar pouco...
Estagiário sobre POG
Os fins justificam os meios!
Nicolau Maquiavel sobre POG
Abre no Internet Explorer que funciona.
Resposta padrão do suporte sobre POG
Edição de Coxambra[editar]
Isso:
Arquivo em alta definição, disponível para impressão. (Somente utilize caso você tenha adquirido a devida certificação.) http://paginas.terra.com.br/informatica/webtas/
Virou isto:
Arquivo em alta definição, disponível para impressão. Somente utilize caso você tenha adquirido a devida certificação.
Coxambra Mande seu recado 00:19, 24 Outubro 2007 (BRT)
Tentando arrumar a taxonomia:
- Criando Seção "Algoritmos de Ordenação" e Inserindo Gambi e Kick Sort.
- Criando Seção "Certificações" e Inserindo Certificado "P.O.G" e Certificação Pessoal.
- Retirando a palvra "comentados" da seção PPOG, pois é óbvio quando se a lê que estão "comentados"
Coxambra Mande seu recado 00:31, 24 Outubro 2007 (BRT)
Mais algumas coisas feitas:
- Retirando a "Maquina de Estados OG" da seção "Exemplos de POG (?)" e colocando em uma seção com seu próprio nome por não se tratar necessariamente de um "Exemplo de POG" e coloquei a imagem dimensionada um pouco menor.
- Desta mesma seção retirei "Veja também: [[#Modelagem Orientada a Gambiarra" já que era uma referência interna ao texto para a seção justamente abaixo.
- Assim como os mesmos passos na seção "Modelagem Orientada a Gambiarras" que tinha um link para a seção justamente acima e a imagem foi redimensionada para menor.
Coxambra Mande seu recado 00:54, 24 Outubro 2007 (BRT)
- Movi o artigo que fala sobre o uso do MOG e POG para o fim do artigo, pois nem todos os conceitos do POG haviam sido ditos e já tem um artigo imenso no meio do texto. Outra coisa, este artigo interno estava perdido dentro de Modelagem Orientada a Gambiarras.
O artigo tá Frankstein mesmo. Fica aqui novamente um reforço da minha sugestão. Recolocar os "Chavões" de Volta e selecionar os melhores para ficarem no artigo.
Coxambra Mande seu recado 01:25, 24 Outubro 2007 (BRT)
Transformação de Seções:
- Chuck Norris -> Metodologia Chuck Norris
Troca de Ordem entre Seções:
- Ciclo de vida de um projeto POG com Certificações
A estrutura do texto do artigo está boa, ficou, no meu ponto de vista, logicamente organizada. As próximas edições (não sei quando) irei fazer ajustes no texto propriamente dito, certamente tomando grande cuidado com o texto base do texto pra não criar alterações que possam comprometar a alma do texto e, se for fazer maiores alterações colocarei aqui na discussão. Coxambra Mande seu recado 01:43, 24 Outubro 2007 (BRT)
Na seção Tipo de Erros POG:
Isto:
Estouro de Timóteo: Estouro de timóteo é quando o desenvolvedor faz uso indevido dos POGs, isso torna a aplicação lenta e estoura o tempo permitido para processar:
- Resolução do Problema: Aumente o tempo de timóteo em 31104000 segundos
Reescrevi e está assim:
Estouro de Time-out: É quando o desenvolvedor que não possui habilidades no uso de POGs cria aplicações que são lentas e, desta forma, "estoura" o tempo estipulado para o processamento:
- Resolução do Problema: Aumente o tempo de Time-out para que este tenda ao infinito.
Coxambra Mande seu recado 19:17, 24 Outubro 2007 (BRT)
Adicionei novas Imagens (O artigo estava precisando) (veja à direita):
- Removi dos fatores para a formação do gambiarrizador a "Criatividade".
- Adicionei: "que possuem, dentre outros fatores reusabilidade e legibilidade em seu auge." Ao final do quinto parágrafo da seção "Definição de POG".
- Adicionei novo princípio: "Simplicidade acima de tudo - Se o programa funciona sem o Tratamento de Exceções e a verificação de campos preenchidos pelo usuário porque complicá-lo ?"
- Transformei
Isto:
- 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)
Em isto:
- Conclusão Hipotética Universal Técnica Explicativa (aka. C.H.U.T.E) - [...]
Estou vigiando o artigo de perto agora pra que pelo menos não fique mais retalhado. Estou tomando cuidado para ter discernimento quanto remover ou não uma edição.
Coxambra Mande seu recado 20:47, 25 Outubro 2007 (BRT)
Criei uma seção chamada "Advertência" com o 6º parágrafo da seção "Definição de POG", pois este estava perdido e não abordava nada com relação à definição de POG. Este seção foi criada no fim do artigo, pois não trata-se diretamente do POG, mas sim de algo "possível" de acontecer com seu uso.
Coxambra Mande seu recado 21:10, 25 Outubro 2007 (BRT)
Certificações[editar]
Esta página é excelente, mas um ponto que penso que destoa dela é a parte "GambiGodnessPower Certification", pois parece um outro tipo de humor, mais fantasioso, enquanto a página inteira lida com verdades ou meia-verdades. Sugiro que fosse retirado, pois nada acrescenta ao texto ou ao tema. --Kaos Kahn 09h48min de 19 de janeiro de 2010 (BRST)
Introdução[editar]
Com o gigantesco aumento do número e porte das empresas do setor de TI em cerca de 0,5% no mundo nos últimos 50 anos, a demanda por novas tecnologias cresceu absurdamente. Como as técnicas de programação seqüêncial, por botão, procedural e orientada por objetos não conseguem mais suprir a qualidade máxima esperada pelos softwares geradores de relatórios que necessitam de massiva quantidade de recursos como desempenho, performance e throughput a Programação Orientada a Gambiarras foi desenvolvida.
Gambi Design Patterns[editar]
Os Gambi Design Patterns haviam sido separados desta página em um artigo complementar porque a deixavam muito pesada, eram muito numerosos, são apenas uma das partes do conceito de POG e deixavam a leitura do artigo cansativa
Porém, no dia 27/10/2007 eles foram ressuscitados de históricos antigos e reincorporados, mas com isso acabou se criando um fork, onde as novas edições no artigo complementar ficam perdidas e esquecidas no artigo complementar que não mais é citado neste artigo (que é o principal). Só para deixar claro: O artigo complementar tem 63 Gambi Design Patterns, porém dos históricos antigos vieram 46, de forma que 17 deles ficam esquecidos no artigo complementar órfão e os recuperados desatualizados.
No entanto, antes de simplesmente sair desfazendo edições dos outros e alterando coisas, queria debater o que devemos fazer neste caso. Se realmente colocamos os Gambi Design Patterns em seu artigo separado ou se finalmente os reincorporamos todos e atualizados.
Vwss 12:54, 30 Outubro 2007 (BRT)
- Estou conversando com o Wendel sobre isto. Tenho uma proposta simple pra integrar os Patterns com o artigo. Estou esperando ele "levantar o polegar" (ou não) para a idéia. Abraz,
Coxambra Mande seu recado 23:26, 30 Outubro 2007 (BRT)
Sugestão Chavões POG[editar]
Não se preocupe, nenhum sistema "entra redondo". O importante agora é entrar em produção, depois consertamos os erros! Gerente sem noção tentando acalmar desenvolvedor sobre projeto MOG com prazo estourado.
Se ficou não engraçado não sei. O interessante é que foi exatamente assim que aconteceu.
- Acrescentado no artigo. Sei como é ser desenvolvedor. Abraz,
Coxambra Mande seu recado 18h32min de 26 de Junho de 2008 (BRT)
Modelo "Horda" de desenvolvimento[editar]
Modelo de projeto baseado nos exércitos mongois de Gengis Khan, onde: Uma horda de "pogramadores com reduzida experiencia"(estagiários) que têm como desafio a tarefa de construir um sistema seguindo as instruções de "analistas POG com reduzida experiencia"(estagiários).
Este modelo de construção atingiu seu ápice nos dias de hoje em meados dos anos 90
Tah funcionando ..., mas se testar muito quebra !
Código Seguro em VB6[editar]
Dim var1 As Boolean
var1 = False
If var1 = True Then
var1 = False
End If
Programando deste jeito a chance de uma variavel conter um valor indesejado é NULA! Provendo segurança e estabilidade em suas aplicações.
Código Seguro em .NET[editar]
try { ... } catch (Exception exception1)
{ ProjectData.SetProjectError(exception1); Exception exception = exception1; ProjectData.ClearProjectError(); }
public bool FormatoSenha(ref string texto)
{ return true; }
public static string Strcn
{ get { var_strcn = "Password=XXXXX;Persist Security Info=True;User ID=XXXXX;Initial Catalog=XXXXXXX;Data Source= XXXX";
return var_strcn; }
//Pra que web.config, né?
}
public static short ID
{ get { return var_id; } set { if (Versioned.IsNumeric(value)) { var_id = value; } else { var_id = 0; }
//Isso que é um código aprova de falhas!
} }
public static string Valor
{ get { return var_Valor; } set { if (value.Trim().Length == 0) { var_Valor = "0"; } else { var_Valor = value; }
//Se o valor for “null” fodeu!
} }
if (ExecutaNonQuery(ref “UPDATE ........))
{
}
//Pra que fazer o IF? Mandar string fixa “byRef”? Interessante...
if (var[num, 0, 0].Trim() == XXXXXX")
{ num = num; }
//????
Só Cristo salva!![editar]
Atire a primeira pedra quem nunca POGOU
Extensão a Certificação Pog[editar]
POJO ~POGOS = Pog Objects
Códigos em separado[editar]
Sugiro FORTEMENTE que os códigos sejam colocados em uma seção separada do artigo principal. Tem que ficar "debugando" pra encontrar a graça, que é pequena (nossa, esse código é absurdo, que engraçado!). Assim o artigo fica mais curto e mais acessível, e os códigos só serão vistos por quem se interessa por eles.—o comentário precedente deveria ter sido assinado por 179.185.81.8 (discussão • contrib.)
Este o que falta pra esse artigo se tornar um dos melhores? Só organização?
10h16min de 5 de julho de 2016 (BRT)