Problema dos Terminais Globais - página 5

 
WHRoeder:
ProfessorMetal: Eu não sou um dos neófitos
Sem verificação de erros, não tenho tanta certeza.
ProfessorMetal: não tente ensinar ao avô como chupar ovos, cara. Calma, filho.
WHRoeder: Você não tem tempo para fazer bem da primeira vez, mas tem tempo para fazer bem, ou rastrear os erros causados por ele.
Você precisa se acalmar. Você está ficando todo curvado por causa de uma simples observação. E não me chame de "Filho", eu sou mais velho que você (1957.)

"Sem verificação de erros, não tenho tanta certeza". Este é exatamente o tipo de comentário de que estou falando. Isso é despropositado.

Eu não tenho um problema presonal com você, Roeder. Tomei o que você disse como se estivesse me batendo imerecidamente. Minhas desculpas se entendi mal sua intenção. BTW, usar o termo "Filho" é comum de onde eu venho. É como dizer "Homem" ou "Cara" ou o que quer que seja.

Quando falo de tratamento de erros como sendo caro, venho do ponto de vista de estar acostumado com o paradigma de tentativa/captura da Microsoft. Isso é muito intensivo em recursos e consome muito tempo no que diz respeito ao tempo de execução. A prática aceita é arquitetar seu aplicativo, determinar onde é provável que surjam problemas e depois adicionar seu tratamento de exceções. Você não quer usá-lo em excesso, especialmente em uma aplicação em tempo real. Isso é tão ruim, se não pior, do que não fazer nenhum tratamento de exceções. Se você estiver falando em usar condicionantes para verificar erros, então, sim, eu faço isso como uma questão de curso.

Quanto à situação particular que estou encontrando quando o depurador trava, não parece ter inicializado nada. O depurador traz um gráfico por uma fração de segundo e morre. De acordo com o registro, ele carrega os indicadores, etc. e depois os descarrega imediatamente. No indie em que estou trabalhando atualmente tenho Alertas no OnInit() para saber se ele não está tentando inicializar o indie. Eu vejo o mesmo tipo de comportamento se eu executar o depurador em outros indies que eu sei que não têm nenhum problema. Não estou totalmente certo do que está acontecendo, mas eventualmente vou descobrir. Como disse em um post anterior, a documentação está incorreta no que diz respeito à localização do debug.tpl. O diretório não existe nem mesmo na instalação do MT4. Ou a documentação está incorreta ou a implementação do MT4 tem problemas. Portanto, no momento, penso que é 50/50 quanto a se estou estragando de alguma forma ou se algo está errado na implementação da plataforma.

De qualquer forma, vamos apenas concordar que nos entendemos mal, apertamos as mãos e seguimos em frente. Não há necessidade de uma batalha entre nós. Legal?

 
angevoyageur:

Posso sugerir aos nossos programadores veteranos que interrompam este tipo de discussão aqui.

Obrigado.


De acordo. Isto é completamente contraproducente - e não profissional.
 
ProfessorMetal. Não poderia estar mais de acordo com sua opinião sobre o manejo excessivo de erros e a preferência por testes futuros.
 
gatoreyefx:
ProfessorMetal. Não poderia estar mais de acordo com sua opinião sobre o manejo excessivo de erros e a preferência por testes futuros.

Obrigado. Prazer em conhecê-lo. A experiência é um grande professor :-)
 
  • ProfessorMetal:

    Obrigado. Prazer em conhecê-lo. A experiência é um grande professor :-)

    Não acho que seja uma boa recomendação aqui, pois a maioria dos membros são iniciantes ou codificadores amadores, e um dos problemas mais recorrentes vem da não verificação de erros de forma alguma. Além disso, os codificadores experimentados não precisam de tais recomendações, pois têm sua própria experiência e hábitos.
 
Concordo com o angevoyageur, o tratamento de erros reduz o tempo gasto na depuração e/ou no pedido a outros para ajudar a encontrar a causa do(s) problema(s).
 
Bem, desde que fui atualizado do build 509, tenho usado o tratamento de erros. Agora, quase nenhum desde que eu removi da ea que eu definitivamente sei que o código é estável o suficiente para lidar com erros. Algo parecido com isso.
 
angevoyageur:
  • ProfessorMetal:

    Obrigado. Prazer em conhecê-lo. A experiência é um grande professor :-)

    Não acho que seja uma boa recomendação aqui, pois a maioria dos membros são iniciantes ou codificadores amadores, e um dos problemas mais recorrentes vem da não verificação de erros de forma alguma. Além disso, os codificadores experimentados não precisam de tais recomendações, pois têm sua própria experiência e hábitos.


Você tem um ponto válido em relação aos codificadores iniciantes e amadores. Eu não pretendia defender que alguém seguisse minha abordagem. Eu pretendia simplesmente esclarecer o quê e o porquê disso. Eu disse que "a experiência é um grande professor" :-)

BTW, eu acho que sua última declaração é algo que eu estava tentando transmitir ao Roeder - junto com o ponto de que fazer suas interações com outros membros do fórum consiste principalmente em atacar e abater pessoas não serve a nenhum outro propósito além de massagear seu próprio ego. Aqueles de nós que são experientes devem responder aos menos experientes que estão realmente tentando com respeito e consideração, não com zombaria. Com isso, eu considero o assunto encerrado. Fiz uma resposta conciliadora a William. Se ele quer aceitá-la, tudo bem. Se não, tudo bem, também.

 
SDC:
Concordo com o angevoyageur, o tratamento de erros reduz o tempo gasto na depuração e/ou no pedido a outros para ajudar a encontrar a causa do(s) problema(s).


Eu não contesto isso de forma alguma. Meu ponto, na verdade, foi que os desenvolvedores experientes ganham uma "sensação", se você quiser chamá-la assim, de onde é provável que surjam problemas. Por exemplo, se eu tenho um método que requer parâmetros, sempre verifico se eles são o que deveriam ser antes de tentar executar qualquer código. É um hábito automático desenvolvido a partir de anos de trabalho em aplicações industriais onde um método será chamado por outros desenvolvedores que trabalham em outra parte da aplicação ou diretamente pelos usuários finais, se for um elemento da IU. Você aprende rapidamente a não acreditar que alguém vai lhe enviar o que deve.

A maior parte do que eu estava falando era sobre o paradigma da tentativa/captura. Isso é um não problema com a MQL porque, até onde eu sei, a MQL não tem o tratamento de exceção que a Microsoft emprega. Isso torna muito do que eu disse discutível.

Para que conste, o problema parece não ter sido com nenhum dos meus índios. Não pensei que fosse, mas é sempre possível - ninguém é perfeito, muito menos eu. Eu uso uma EA de gestão comercial de terceiros gratuita porque não tive tempo de desenvolver a minha própria. Para fins de teste de idéias usando contas demo, eu considerei isso bom o suficiente. Acho que você recebe pelo que paga - é um freebie. Eu me livrei dele e o depurador não caiu desde então. No entanto, ainda há alguns problemas.

O que eu disse anteriormente sobre a desconexão entre a documentação e a operação ainda vai. Não existe um diretório de perfis/templates na instalação do MT4. Além disso, a documentação não diz nada sobre como configurar e usar os modelos de depuração. Passei algumas horas brincando com as coisas para ver qual é o comportamento atual no MT4. O que eu inventei deveria ser compartilhado em algum lugar, mas não tenho certeza exatamente onde a etiqueta do fórum ditaria. Neste tópico isolado provavelmente é um não, a menos que um dos Mods que estão monitorando isso pense assim. Devo criar um novo tópico, entregar minhas observações a um Mod para que eles possam criar um tópico pegajoso ou devo apenas compilar tudo e dispará-lo eu mesmo para o Service Desk? Qualquer que seja a direção que os Mods pensem, eu irei.

 

Não creio que alguma vez tenha existido uma pasta de perfis/templates. Minha pasta de gabaritos está na pasta de dados do terminal.

Razão: