EVGD: Códigos Toscos  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
Rafael Afonso
Virtual Machine Man
[Avatar]
Membro desde: 05/12/2002 16:03:43
Mensagens: 719
Localização: São Paulo/SP
Offline

Este fui eu quem fez, de ontem para hoje e foi bem sutil: Tinha um array de chars com um número par como tamanho. Tinha que percorrê-lo 2 a 2. O for que eu fiz foi o seguinte:

O problema é que para arrays longos dava loop infinito e daí dava pau no programa. Só depois de olhar melhor o código é que percebi que ao fazer i =+ 2 na verdade eu estava atribuindo sempre o valor +2 a i. Na verdade o correto seria i += 2. Creio que estou tão acostumado a usar i ++ para percorre arrays que esqueci deste detalhe.

This message was edited 1 time. Last update was at 12/11/2008 09:52:20


Rafael Ubiratam Clemente Afonso
---------------------------------------
GitHub
ScalaFX
LinkedIn
[MSN]
Jeanioz
JavaChild
[Avatar]

Membro desde: 28/08/2006 15:04:48
Mensagens: 147
Offline

kicolobo wrote:Esta é outra clássica que já vi.

Em um sistema que estavamos desenvolvendo, uma programadora resolveu criar a interface gráfica de uma parte do sistema que, dependendo da ação do usuário, poderia ter consequências desastrosas, pois milhares de registros poderiam ser alterados (no caso, dizia respeito à exclusão de bancos de dados).

Pois bem: a programadora terminou o trabalho, veio toda contente para nós e, juntos, fomos apresentar o resultado para o cliente. O estado de confiança da "profissional" alastrou-se entre nós. Naquele momento, possuíamos CERTEZA de que tudo daria certo (claro, nem sequer haviamos olhado o resultado do trabalho, pois o tempo era nulo).

Então, estamos na frente do cliente, e segue o seguinte diálogo.

_ A ferramenta de exclusão de registros está pronta?
_ Sim, e ficou ótima. A performance ficou excelente.
(haviamos visto os testes unitários desta parte e, realmente, ela tinha razão. A performance era perfeita. E o código, era realmente muito bacana, mas voltemos ao diálogo)

_ Gostaria de ver como isto está no sistema.
_ Ok, vou lhe mostrar. Aqui está o botão. Clique nele para ver o que acontece.

(nossos corações pararam por um segundo ao ver o que surgiu na tela. Nós naquele momento só haviamos visto a camada de negócio. Não a interface gráfica que ela havia desenvolvida (mea culpa, mea culpa, mea culpa!))

Eis que surge na tela uma caixa de diálogo com o seguinte texto:
"Você está prestes a apagar todos os registros do projeto X. Deseja continuar?"
E um único botão: "Ok."


Ah, isso é fácil de corrigir na frente do cliente:

- É só clicar no xizinho...
[Email] [MSN]
danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline

Colaboração de um amigo:


Só faltou o

hahahahaha

gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

danieldestro wrote:Colaboração de um amigo:


Só faltou o

hahahahaha


Qual o problema? Há mais checagens abaixo? O código inteiro é só este if?

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline

Nenhum problema, mas olha que mais simples:

gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

danieldestro wrote:Nenhum problema, mas olha que mais simples:


Por isso que perguntem se haviam mais checagens.

Se a pessoa quisesse colocar um alert lá para debugar, ou se quisesse implementar mais validações no futuro, aquele código estaria ótimo.

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
jcmird
JavaGuru
[Avatar]

Membro desde: 21/08/2007 01:43:38
Mensagens: 244
Offline

100% Pog ahauhaua... tem programdor que gosta de ver o código bem grande .. Este vai ser um post eterno no guj ahauah.



jingle
Virtual Machine Man

Membro desde: 04/10/2006 20:40:08
Mensagens: 642
Localização: Canoas/RS
Offline

danieldestro wrote:Nenhum problema, mas olha que mais simples:


desta sua forma... ele retornaria true caso o validateCodPessoa retorna true.... e como você mostrou no código dele não tem o "else return true"..

dava pra mudar pra algo assim

This message was edited 1 time. Last update was at 03/03/2009 16:06:25

[Email] [MSN]
Pedrosa
JWizard
[Avatar]

Membro desde: 13/07/2005 13:08:08
Mensagens: 2505
Localização: São Paulo - Brasil
Offline

E essa gambiarra para pegar o codigo e incrementar + 1:


Depois o cidadao coloca sequencial + 1 e da um monte de pau, olha que ta em Hibernate, usem sequence pelo amor de Deus.

Refatorado.

This message was edited 4 times. Last update was at 15/04/2009 12:32:20

thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Rafael Afonso wrote:Só depois de olhar melhor o código é que percebi que ao fazer i =+ 2 na verdade eu estava atribuindo sempre o valor +2 a i.


Em alguma ocasião de sua vida você já usou C? No tempo do Kernighan & Ritchie era possível usar:

i += 2;

ou

i =+ 2;

É desnecessário dizer que isso era um pouco ambíguo, e não conheço nenhum compilador (mesmo o MS C 3.0) que implemente a segunda forma, que está obsoleta há muitos anos.


[WWW]
danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline

Lindo:

This message was edited 1 time. Last update was at 04/03/2009 15:23:56


gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
marcobiscaro2112
JWizard

Membro desde: 01/12/2008 11:56:04
Mensagens: 2408
Localização: São Paulo - SP
Offline

danieldestro wrote:Lindo:


Esse é um dos mais feios (é só pensar um pouco, caramba!!) e, mesmo assim, dos mais comuns. E erros não faltam: mais de 40 páginas e, com certeza, tem muito mais...

Marco Biscaro.

Seja livre!

Você sabia que provavelmente há milhares de arquivos duplicados no seu computador?

Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[Email] [WWW] [MSN]
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

danieldestro wrote:Lindo:



Esse me lembra uns mais comuns, principalmente com jstl em jsps:

São do tipo


E lá vai o servidor executando laços sem necessidade....

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
gui_sv
JavaEvangelist
[Avatar]

Membro desde: 26/05/2006 10:05:28
Mensagens: 391
Localização: SCS
Offline

auhauhauhauhauha

Este virou um bom topico de POG

Programacao Orientada a Gambiarra ..

huauhauhauhahu


sempre que fizer um codigo...vou consultar aqui para ver se tem como melhorar .. ahuuahuhauha
danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline

Hard way:


Introduzindo o conceito de ARRAY para o progamador desavisado:


gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team