mas eu coloco um texto explicando a função da variavel quando faço definição dela.
Não ficaria mais bonito se fosse assim?
(Copie e cole no VBE, aqui vai ficar feio igual)
'------------------------------( Variaveis de Controle )-----------
Dim Ddo As Variant, ddai As Long '..Dados
Dim Tv As Long '..Teste de Valores 1 = passa no teste : 0 = Não passa
Dim t As Long '..Teste de teste 0 = Negativo : 1 = Positivo
Dim K As Long, F As Long
''-----------------------( ORIGEM )----------------------------
Dim Op As Long, iCo As Long '..Direção prioritaria Op="0 = Coluna: 1 = Linha";
'..Controle Zig Zag Coluna iCo ="0 =Não faz: 1= Faz "
Dim OLi As Long, OLf As Long, TLo As Long '..Linha inicial e final,"podem ser de quadrante"
Dim Lio As Long, Lfo As Long '..Linha inicial e final,Total linhas da origem
Sempre que eu desenvolvo, antes durante e depois, eu fico revendo a rotina para ter certeza que ela parece uma obra de arte, nos mínimos detalhes...
Sobre goto gosub ... eu penso que bem aplicados pode simplificar grandes projetos
Sobre se perder no fluxo do programa creio que independente de usar ou não, ou ter um monte de variáveis de nomes explicativos da funcionalidade.
Se não for bem estruturado certamente um hora vai dar tudo no "oq mesmo que eu estava fazendo?"
Sim, o GoSub cria um ponto no código e vc pode retornar pra ele. É o mesmo que o GoTo, mas com uma marca para onde retornar. Isso pode e vai causar problemas de lógica quando vc abusar do recurso. E mais, ir e voltar dentro da mesma rotina, é o mesmo que criar diversas subrotinas bem estruturadas e chamá-las. A diferença é que seu código fica mais limpo e fácil de entender e dar manutenção. E assim, aquele: "o que mesmo que eu estava fazendo?" acontecerá menos e menos ... Cara, dica de brothers, mais de 10 anos de experiência, evite usar GoTo e o GoSub, comece a forçar esse seu cérebro a usar boas práticas da programação.
Pensa, qtas *subrotinas iguais vc teve que criar em diversas Subs, que poderiam tranquilamente ser uma Sub separada independente ? Economiza número de linhas, facilita leitura, facilita manutenção (muda num lugar só em vez de vários), e ainda tem o mesmo nome do que vc determinou no GoSub...
Resume Next simplesmente manda continuar na próxima linha.
Ele normalmente é usado junto com o On Error:
On Error Resume Next
Se der erro, ignore o erro e vá pra próxima linha.
É arriscado pois seu código não executou uma linha adequadamente, e vc mandou seguir mesmo assim... O programador deve entender as consequencias disso para seguir programando, prevendo o que pode dar errado por causa de um erro que não foi reportado. Por outro lado, mta gente programa e deixa esses On Error Resume Next nos códigos, para poder cobrar e receber o dinheiro, pois os erros acontecem e o próprio sistema não avisa. O cliente está feliz pq não sabe que tá cheio de remendos no código que foi entregue.
Variáveis publicas normalmente vai ter numero limitado e sempre vão ser Redefinidas a cada processo
Mas são linhas desnecessárias, se vc tiver passando os parâmetros, não terá que ficar redefinindo ou ficar lembrando de redefinir todas.
NOTA IMPORTANTE:
A variáveis públicas podem reter valor quando o tempo de execução acabou, ou seja, quando a macro terminou. Na próxima rodada, se um valor tiver sido mantido e vc não tiver reiniciado ela, vc poderia por exemplo, inserir um saldo errado na conta bancária de um cliente... Evitar usar públicas é essencial para reduzir o P.D.M. (Potencial para Dar Merda)
macro 0
pular=100
call macro2
macro2 tem uma variável "pular" com função diferente
Cara, isso pq vc tá usando variáveis curtas. Se vc passa uma variável como parâmetro pra outra rotina, seja função seja sub, não tem pq usar o mesmo nome. Mesmo. Crie um PularLinhas eqto o outro seria um PularColunas...
Explique melhor o que é a variável, no próprio nome. Pensa só que PularX ou PularY não me diz o que cada uma delas faz. E durante a minha leitura do código, precisarei certamente procurar e encontrar os comentários aonde vc explica a diferença. E fato que eu terei que encontrar esses comentários diversas vezes durante essa leitura...
Ufa, acabou...
Espero ter ajudado um pouco...
Ninguém falou de identação, que é importante e essencial para um código com qualidade. Identação é impossível quando se coloca diversas linhas numa linha só, pense nisso Ed !
Abraço, espero continuar com boas argumentações amanhã!
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 03/08/2014 3:23 am