Bom artigo. O conceito do que fazer e do que não fazer está bem explicado.
Os erros em exemplos específicos, nesse caso, não reduzem o valor do artigo, pois sua tarefa é ajudar as pessoas a otimizar seu estilo de trabalho. Essa tarefa foi resolvida de forma brilhante, tudo foi escrito da forma mais simples e clara possível.
A comparação de strings (caractere) deve vir no final.
As expressões bool não estão entre colchetes.
A variável mágica está faltando nas funções de entrada.
O objeto de posição não foi criado.
Eu não vi o erro da primeira vez até que ele fosse publicado porque não o codifiquei no metaeditor, mas apenas enquanto o escrevia, mas não é um grande problema porque, a propósito, todos os exemplos de codificação usados deveriam ter especificado apenas
Como se tornar um bom programador (parte 1): livrando-se de cinco hábitos para se tornar um programador MQL5 melhor
Isso é freelancer, os clientes geralmente não entendem o código e as avaliações ruins não são pela qualidade do código. Eu o escrevi, o programa não deu lucro, então aqui está a avaliação.
Pearls of wisdom for programmers collected from leading practitioners. - GitHub - 97-things/97-things-every-programmer-should-know: Pearls of wisdom for programmers collected from leading practitio...
1. o erro na inicialização do loop é que 1 deve ser subtraído da quantidade quando fazemos o backtracking.
2. Se não foi possível obter a posição pelo índice da função da biblioteca, é necessário sair do loop com um erro e, em seguida, se for necessário processar ou repetir a função novamente, caso contrário, há o risco de obter uma quantidade não confiável, e você ainda trabalha com finanças, e às vezes há grandes quantidades na posição, e uma coisa tão pequena pode levar a uma perda.
3. Primeiro você deve verificar as variáveis bool, depois as enumerações ENUM e só depois verificar int, double, string; se a verificação falhar, passe imediatamente para o próximo elemento do loop.
Se você fizer operações de comparação por meio de &&, o programa necessariamente verificará cada condição.
4. O nome da função também é importante, fica melhor PositionsByType, parece uma ninharia, mas quando você for usar essa função, não precisará ir à biblioteca e seu índice, basta começar a digitar o nome padrão Positions, e você terá várias opções para chamar PositionsTotal, PositionsByType.....
5. Você precisa respeitar a largura do código para não usar a rolagem horizontal, pois isso reduz muito a legibilidade e a velocidade de desenvolvimento.
Aliaksandr Hryshyn #: Você está errado quanto a isso:
"Se você fizer operações de comparação via &&, o programa necessariamente verificará cada condição".
A comparação é feita em ordem até o primeiro falso.
A propósito, em tais situações, você também pode levar em conta a probabilidade de a condição não ser atendida.
Sim, você me corrigiu corretamente, a verificação será realizada até o primeiro falso, o principal é que os tipos de dados pequenos devem ser os primeiros.
Caso as condições consistam em funções, a menor delas deve ser a primeira e até a maior, do ponto de vista dos recursos consumidos, mas sem quebrar a lógica do programa...
Uso essa técnica em todos os meus projetos, e o ganho de velocidade é perceptível para um testador em modo de otimização.
Isso é trabalho freelancer, os clientes geralmente não entendem o código, e as avaliações ruins não se referem à qualidade do código. Você o escreveu, o programa não lhe deu lucro, essa é a avaliação.
Você informa o cliente sobre isso com antecedência ou o dinheiro é mais importante?
Bom artigo. O conceito do que fazer e do que não fazer está bem explicado.
Os erros em exemplos específicos, nesse caso, não reduzem o valor do artigo, pois sua tarefa é ajudar as pessoas a otimizar seu estilo de trabalho. Essa tarefa foi resolvida de forma brilhante, tudo foi escrito da forma mais simples e clara possível.
Obrigado, Omega!
Interessante...
Tornando-se um bom programador (parte 1): livrando-se de cinco hábitos para se tornar um programador MQL5 melhor
Interessante....
Interessante...
Como se tornar um bom programador (parte 1): livrando-se de cinco hábitos para se tornar um programador MQL5 melhor
Isso é freelancer, os clientes geralmente não entendem o código e as avaliações ruins não são pela qualidade do código. Eu o escrevi, o programa não deu lucro, então aqui está a avaliação.
Uma leitura obrigatória para todos (e ainda mais para o autor do artigo): 97 Things Every Programmer Should Know (97 coisas que todo programador deve saber)
A variante funciona mais rápido e, em minha opinião, é mais clara:
1. o erro na inicialização do loop é que 1 deve ser subtraído da quantidade quando fazemos o backtracking.
2. Se não foi possível obter a posição pelo índice da função da biblioteca, é necessário sair do loop com um erro e, em seguida, se for necessário processar ou repetir a função novamente, caso contrário, há o risco de obter uma quantidade não confiável, e você ainda trabalha com finanças, e às vezes há grandes quantidades na posição, e uma coisa tão pequena pode levar a uma perda.
3. Primeiro você deve verificar as variáveis bool, depois as enumerações ENUM e só depois verificar int, double, string; se a verificação falhar, passe imediatamente para o próximo elemento do loop.
Se você fizer operações de comparação por meio de &&, o programa necessariamente verificará cada condição.
4. O nome da função também é importante, fica melhor PositionsByType, parece uma ninharia, mas quando você for usar essa função, não precisará ir à biblioteca e seu índice, basta começar a digitar o nome padrão Positions, e você terá várias opções para chamar PositionsTotal, PositionsByType.....
5. Você precisa respeitar a largura do código para não usar a rolagem horizontal, pois isso reduz muito a legibilidade e a velocidade de desenvolvimento.
Você está errado quanto a isso:
Sim, você me corrigiu corretamente, a verificação será realizada até o primeiro falso, o principal é que os tipos de dados pequenos devem ser os primeiros.
Caso as condições consistam em funções, a menor delas deve ser a primeira e até a maior, do ponto de vista dos recursos consumidos, mas sem quebrar a lógica do programa...
Uso essa técnica em todos os meus projetos, e o ganho de velocidade é perceptível para um testador em modo de otimização.
Isso é trabalho freelancer, os clientes geralmente não entendem o código, e as avaliações ruins não se referem à qualidade do código. Você o escreveu, o programa não lhe deu lucro, essa é a avaliação.