GURUS - OTIMIZACAO DE CODIGO
germanir
primeiro - de preferencia para classes - trabalhar o mais proximo de orientado a objetos te da ganhos inimaginaveis...
se for trabalhar com modulos mesmo
separe por funcionalidade...
um modulo para cada tipo de funcao...
fica mais organizado...
se vc segmentar, localizar e isolar um problema fica mais simples...
primeiro - de preferencia para classes - trabalhar o mais proximo de orientado a objetos te da ganhos inimaginaveis...
se for trabalhar com modulos mesmo
separe por funcionalidade...
um modulo para cada tipo de funcao...
fica mais organizado...
se vc segmentar, localizar e isolar um problema fica mais simples...
Bom, estive fora por alguns dias (problemas em cliente), e agora que cheguei novamente, reapei neste tópico, e agradeço por terem lembrado de mim quanto aos "feras".
Embora não concordar muito com este tÃtulo que me foi dado, simplesmente faço o possÃvel para ajudar os amigos aquÃ, pois tenho a certeza que tbem sou bastante ajudado por muitos aquà tbem.
Agora, chega de ladainha, e agora vai uma dica minha para os PARCEIROS aquà do site.
Lógicamente, não é uma ótima dica, mas eu aconselho a todos, quando forem começar a desenvolver um projeto, procure sempre estipula um prazo MAIOR do que VC espera para entregar o seu sistema. Será muito mais "BONITO" VC entregar o sistema com alguns dias de antecedencia, do que entregar atrasado.
E outra, procure SEMPRE ficar focado sempre no que VC está fazendo. Procure não desviar a sua atenção com coisas "fúteis", como uma notÃcia de alguma coisa na TV/RADIO, crianças ou outras coisas parecidas. Com certeza, VC fazendo isso, o seu serviço irá render melhor, e com certeza, o seu código ficará muito mais limpo.
Infelizmente, agora não tenho nenhum conselho (código) para estar passando a VCÂÂÂ's neste momento, mas vou ver se consigo arrumar um tempinho e vasculhas nas minhas coisas em casa, pra poder estar passando a VCÂÂÂ's.
Embora não concordar muito com este tÃtulo que me foi dado, simplesmente faço o possÃvel para ajudar os amigos aquÃ, pois tenho a certeza que tbem sou bastante ajudado por muitos aquà tbem.
Agora, chega de ladainha, e agora vai uma dica minha para os PARCEIROS aquà do site.
Lógicamente, não é uma ótima dica, mas eu aconselho a todos, quando forem começar a desenvolver um projeto, procure sempre estipula um prazo MAIOR do que VC espera para entregar o seu sistema. Será muito mais "BONITO" VC entregar o sistema com alguns dias de antecedencia, do que entregar atrasado.
E outra, procure SEMPRE ficar focado sempre no que VC está fazendo. Procure não desviar a sua atenção com coisas "fúteis", como uma notÃcia de alguma coisa na TV/RADIO, crianças ou outras coisas parecidas. Com certeza, VC fazendo isso, o seu serviço irá render melhor, e com certeza, o seu código ficará muito mais limpo.
Infelizmente, agora não tenho nenhum conselho (código) para estar passando a VCÂÂÂ's neste momento, mas vou ver se consigo arrumar um tempinho e vasculhas nas minhas coisas em casa, pra poder estar passando a VCÂÂÂ's.
Ó“tima observação LCSD, uma observação, jurava que seu nick era LSCD, agora que fui notar, hahah, engraçado não, pois é amigo, valeu pelas dicas. Estas são as verdadeiras dicas, estou super animado. Pois ao passear pelo Google com a Query 'Dicas de VB' só encontro Fontes para Download, não gosto de receber nada de Mão beijada, prefiro saber o caminho, e o conquistá-lo por minhas próprias Mãos. [txt-color=#ff0000]Vi que as vezes um pouco de lógica e boa orientação, faz uma falta[/txt-color]. Nós que estamos aprendendo VB na Marra, na Raça, as vezes ficamos meio que 'Desnutridos' de teoria, estrutura e lógica (pelo menos eu), é este o Principal foco deste tópico, dar uma certa lógica aos 'Viciados em Código Fonte - Expresso (Como eu era). Comecei a perceber esta importà ¢ncia com um Fórum aberto por um 'Grande amigo do VBmania' ( Modelagem de Dados ) Trabalho em uma rede de escolas o BD estava já chegando aos seus 1,2 GBytes, e eu já estava sofrendo um pouco, procurei codigo e dicas, igual a um 'Louco varrido', e derrepende algo como se fosse uma simples Conversa de Amigos (Forum) me deu a luz que estava procurando (Valeu amigos), Então, finalizando, para o Pessoal novo, que está vendo agora, o tópico, creio que entenderam o principal objetivo do mesmo, participem, vamos fazer o que melhor fazemos, "Compartilhar informações e ou Dúvidas".
E como diria o Tio Max:
[txt-color=#008000][txt-size=3]"E sendo só para o momento, despeço-me com sinceros protestos da mais elevada estima e distinta consideração." [/txt-size][/txt-color]
(é a mais formal, forma de formalidade que já vi.. rssr)
Atenciosamente,
Germanir Leal Santos
E como diria o Tio Max:
[txt-color=#008000][txt-size=3]"E sendo só para o momento, despeço-me com sinceros protestos da mais elevada estima e distinta consideração." [/txt-size][/txt-color]
(é a mais formal, forma de formalidade que já vi.. rssr)
Atenciosamente,
Germanir Leal Santos
Bruno não leve a mal minha Ignorà ¢ncia, mas qual o porque primeiro - de preferencia para classes - trabalhar o mais proximo de orientado a objetos te da ganhos inimaginaveis...
[txt-color=#ff0000]O VB não é uma RAD Orientada a objetivos?[/txt-color]
(Sempre acreditei que sim, me corrija se estiver errado)
[S23]
[txt-color=#ff0000]O VB não é uma RAD Orientada a objetivos?[/txt-color]
(Sempre acreditei que sim, me corrija se estiver errado)
[S23]
Outra dica do Tio:
[txt-size=4]'ABUSE DAS SUB-ROTINAS"[/txt-size]
O ideal é que as Subs do seu projeto (essas aà que contém os códigos de seus objetos, conforme os eventos - Click, Change, etc) sejam tão pequenas quanto possÃvel, e fartamente comentadas, pra facilitar a manutenção. E o resto do código? Crie Procedures (as saudosas subrotinas...) do tipo Sub ou Function:
Agindo assim, você terá duas grandes vantagens:
- vai ser obrigado a tratar seu código por blocos perfeitamente definidos (é muito comum, se não agir desse jeito, a gente fazer uma "Super-Sub" e depois começar a fazer remendos, espalhando pedaço de código pra todo lado);
- poderá escrever todo o esqueleto do seu projeto (todo meeeesmo) sem escrever uma única linha de código que realmente faça alguma coisa. Depois de tudo definido, passa-se à  s sub-rotinas, que são as verdadeiras carregadoras de piano.
Agora, muito cuidado com o tratamento de erro: se der erro dentro da sub-rotina, você vai ser enviado de volta para a sub original, e o código continuará rodando, se você não fizer o tratamento de erro adequado.
[txt-size=4]'ABUSE DAS SUB-ROTINAS"[/txt-size]
O ideal é que as Subs do seu projeto (essas aà que contém os códigos de seus objetos, conforme os eventos - Click, Change, etc) sejam tão pequenas quanto possÃvel, e fartamente comentadas, pra facilitar a manutenção. E o resto do código? Crie Procedures (as saudosas subrotinas...) do tipo Sub ou Function:
Citação:Private Sub cmdAguardo_Click() 'define dias de espera para a próxima diligência e dá outras providências
Select Case indice
Case 0 'Primeira ocorrência; gera Embargo e dá prazo conforme txtPrazo
Call Embargo (txtPrazo)
Case 1 'Segunda ocorrência
Call Voluntario 'Gera Ordem de Fechamento Voluntário, com prazo imediato
Case 2 'Terceira ocorrência. Urgência urgentÃssima!
Call Compulsorio 'Gera Ordem de Fechamento Compulsório e envia e-mail para o gabinete do Prefeito
Call ApoioPolicia 'Expede ofÃcio requisitando apoio policial
End Select
Call Imprensa (indice) 'Expede pedido de publicação, conforme tipo de ocorrência (Ãndice)
End Sub
Agindo assim, você terá duas grandes vantagens:
- vai ser obrigado a tratar seu código por blocos perfeitamente definidos (é muito comum, se não agir desse jeito, a gente fazer uma "Super-Sub" e depois começar a fazer remendos, espalhando pedaço de código pra todo lado);
- poderá escrever todo o esqueleto do seu projeto (todo meeeesmo) sem escrever uma única linha de código que realmente faça alguma coisa. Depois de tudo definido, passa-se à  s sub-rotinas, que são as verdadeiras carregadoras de piano.
Agora, muito cuidado com o tratamento de erro: se der erro dentro da sub-rotina, você vai ser enviado de volta para a sub original, e o código continuará rodando, se você não fizer o tratamento de erro adequado.
RAD???
orientada a objetivos - essa eu nunca ouvi - sempre considerei orientada a eventos...
na verdade o vb é o que vc fizer dele...
a grande vantagem e desvantagem dele é exatamente essa flexibilidade...
se vc quiser fazer um sistema estruturado com GOTO - vc faz...
se quiser trabalhar sem declaracao de variaveis - usando metodos soltos e um unico arquivo - vc faz...
se quiser criar classes - encapsular metodos e propriedades - usar interfaces - vc tb faz...
o ponto é >>> criando classes seu tempo de desenvolvimento aumenta um pouco, o tempo de manutenção e caça à  s bruxas reduz violentamente...
vc nao consegue fazer orientado a objeto por questoes de heranca e polimorfismo (basicamente) - mas de resto - usar as práticas de OO ajuda mto
orientada a objetivos - essa eu nunca ouvi - sempre considerei orientada a eventos...
na verdade o vb é o que vc fizer dele...
a grande vantagem e desvantagem dele é exatamente essa flexibilidade...
se vc quiser fazer um sistema estruturado com GOTO - vc faz...
se quiser trabalhar sem declaracao de variaveis - usando metodos soltos e um unico arquivo - vc faz...
se quiser criar classes - encapsular metodos e propriedades - usar interfaces - vc tb faz...
o ponto é >>> criando classes seu tempo de desenvolvimento aumenta um pouco, o tempo de manutenção e caça à  s bruxas reduz violentamente...
vc nao consegue fazer orientado a objeto por questoes de heranca e polimorfismo (basicamente) - mas de resto - usar as práticas de OO ajuda mto
VBManÃacos
Estou bastante complicado estes dias, mas aà vai uma dica:
Modelagem dos Dados
Uma Modelagem errà 'nea pode dar de uma Simples dor de Cabeça a um Desastre!
Então "perca tempo" nesta fase e verá lá na frente que o BD não vai "crescer demais" nem terá problemas para realizar Consultas que o Sistema deveria gerar.
[s50]
[txt-color=#0000ff]** Com relação a "FERAS" eu não me considero um "Fera em Programação" só um pouco esforçado! [/txt-color]
[s68]
Estou bastante complicado estes dias, mas aà vai uma dica:
Modelagem dos Dados
Uma Modelagem errà 'nea pode dar de uma Simples dor de Cabeça a um Desastre!
Então "perca tempo" nesta fase e verá lá na frente que o BD não vai "crescer demais" nem terá problemas para realizar Consultas que o Sistema deveria gerar.
[s50]
[txt-color=#0000ff]** Com relação a "FERAS" eu não me considero um "Fera em Programação" só um pouco esforçado! [/txt-color]
[s68]
Conforme dica do Tio Bruno, penso em modificar minha estratégia, abandonando minhas queridas Sub-rotinas em favor das classes. De volta aos livros...
10 LET R=7:LET V=56:GOSUB 9000
20 FOR I=0 TO 15
30 FOR J=0 TO 255
40 LET R=0:LET V=I:GOSUB 9000:LET R=1:LET V=J:GOSUB 9000
50 FOR K=1 TO 15
60 LET R=8:LET V=K:GOSUB 9000
70 NEXT K
80 NEXT J
90 NEXT I
9000 REM < ROTINA COMANDO PSG >
9010 OUT 65533,R: OUT 49149,V
9020 RETURN
9100 REM < ROTINA CLEAR PSG >
9110 FOR R=13 TO 0 STEP -1: LET V=0: GOSUB 9000: NEXT R: RETURN
(Isso sim é que é código!)
10 LET R=7:LET V=56:GOSUB 9000
20 FOR I=0 TO 15
30 FOR J=0 TO 255
40 LET R=0:LET V=I:GOSUB 9000:LET R=1:LET V=J:GOSUB 9000
50 FOR K=1 TO 15
60 LET R=8:LET V=K:GOSUB 9000
70 NEXT K
80 NEXT J
90 NEXT I
9000 REM < ROTINA COMANDO PSG >
9010 OUT 65533,R: OUT 49149,V
9020 RETURN
9100 REM < ROTINA CLEAR PSG >
9110 FOR R=13 TO 0 STEP -1: LET V=0: GOSUB 9000: NEXT R: RETURN
(Isso sim é que é código!)
NOSSA, tio MAX(mummy).
Essa realmente é das ANTIGAS. E era a melhor época mesmo. Pelo menos sabÃamos EXATAMENTE o que iria acontecer (bem PASSO-A-PASSO).
SAUDADES DESTES TEMPOS...
Essa realmente é das ANTIGAS. E era a melhor época mesmo. Pelo menos sabÃamos EXATAMENTE o que iria acontecer (bem PASSO-A-PASSO).
SAUDADES DESTES TEMPOS...
hahaha, concordo Max, isso sim que é Código!
(Isso tudo realmente, faz alguma coisa?, se sim Vejo que o topo está mais distante que nunca..)
rsrsrsr, agora a Grosso modo, me parece que desenvolver uma aplicação com Classes, torna o trabalho mais penoso e difÃcil? Estou errado?
Na verdade o VB é então uma RQD (Rapid Quebra-Galho Development em vez de RAD)
Pois como o LCSD citou, nunca se sabe 100% o que vai acontecer...
e o VB.net será que é relamente ORIENTADO a OBJETIVO como já vi alguns citarem?
(Isso tudo realmente, faz alguma coisa?, se sim Vejo que o topo está mais distante que nunca..)
rsrsrsr, agora a Grosso modo, me parece que desenvolver uma aplicação com Classes, torna o trabalho mais penoso e difÃcil? Estou errado?
Na verdade o VB é então uma RQD (Rapid Quebra-Galho Development em vez de RAD)
Pois como o LCSD citou, nunca se sabe 100% o que vai acontecer...
e o VB.net será que é relamente ORIENTADO a OBJETIVO como já vi alguns citarem?
Tópico encerrado , respostas não são mais permitidas