Uma sugestão para a facilidade de uso do MetaEditor - página 6

 
Комбинатор:
)) Bem, você sabe ser rude, eu já entendi, mas não vi uma fundamentação de seu ponto de vista ou uma refutação do meu.

Belinsky certamente não se expressaria assim em um lugar público. Portanto, nenhuma reclamação é aceita.

E nenhuma justificativa para o "reflexo de vômito" que suas referências às autoridades não podem dar.

 
Alexey Viktorov:

Este é um código replicoid.

Eu estava falando de espaços após a separação dos parâmetros e caracteres por vírgula

Lê melhor

do que isto.


Então dei um exemplo ao contrário ))

Aqui está um exemplo do meu código, direto do vivo

    void SetThresholds(double &thresholdOpen[], double &thresholdClose[])
    {
        int signalIdx = 0;  ///////////////// !!!!!!!!!!!!!!!! пока задано жестко
        CSignalFilter *signal = (CSignalFilter*)m_SignalArr.At(signalIdx);
        if (CheckPointer(signal) != POINTER_INVALID)
        {
            signal.SetThresholds(thresholdOpen, thresholdClose);
        }
    }

***

 

Já mencionado em ocasiões anteriores, vou dizer novamente para um novo público.

Objetivamente, existem normas de fato para os estilos. Agora (e nos últimos 10 anos) existem apenas 2 principais para idiomas com sintaxe a la C++/Java. Estes estilos foram expressados pela Combinator. Eles são utilizados na grande maioria das empresas da indústria de software. Eles provaram a si mesmos, são experimentados e testados, são lógicos, compreensíveis e familiares para a grande maioria dos codificadores profissionais.

Tentar promover algo mais, sem benefícios e apenas com falhas, é um fracasso. Não reconhecer estas falhas nada mais é do que teimosia. Eles são objetivos. É claro que o próprio MQ é usado e enganchado neste estilo, mas é apenas mais um bug. É assim que às vezes o software se recusa a corrigir bugs conhecidos, dizendo que já há um monte de produtos de terceiros que se agarraram a este comportamento errôneo. Na realidade, em todos esses casos, devemos procurar uma solução que nos permita manter o antigo comportamento para a compatibilidade com o passado, mas fazer as correções com o chamado "upgrade de protocolo" ou garfo. No contexto dos estilos, existe uma solução simples: um modelador personalizável. Isso já poderia ser feito cem vezes.

No estilo MQ, a propósito, os problemas dizem respeito não apenas à colocação de parênteses, mas também ao estilo dos comentários - por definição, eles não podem anular o código, o que agora é observado no estilo MQ.

 
Alexey Volchanskiy:

Então dei um exemplo ao contrário ))

Aqui está um exemplo do meu código, direto do vivo

***

Então o que foi o espertalhão?

 
Stanislav Korotky:

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Вот это стиль! :)

Sergey Kravchuk, 2009.11.24 11:27


Вот кусочек кода из MACD Sample.mq5 по-ихнему и по-моему:

Styler5                                  -|- Мой стиль
-------                                  -|- ---------
bool CSampleExpert:: LongModified()       -|- bool CSampleExpert:: LongModified()
  {                                      -|- {  
   bool res=false;                       -|-   bool res = false;
//--- check for trailing stop            -|-   //--- check for trailing stop
   if( InpTrailingStop>0)                 -|-   if ( InpTrailingStop > 0)
     {                                   -|-   { 
      if( m_symbol.Bid()- m_position. Price -|-     if ( m_symbol.Bid() - m_position. Pric
        {                                -|-     {
         if( m_position. StopLoss()< m_symb -|-       if ( m_position. StopLoss() < m_symb
           {                             -|-       {
            double sl= m_symbol.Bid()- m_a -|-         double sl = m_symbol.Bid() - m_a
            double tp= m_position. TakePro -|-         double tp = m_position. TakeProfi
            //--- modify position        -|-         //--- modify position
            if( m_trade. PositionModify( Sy -|-         if ( m_trade. PositionModify( Symbo
               printf("Long position by  -|-           printf(" Long position by % s to
            else                         -|-         else
              {                          -|-         {
               printf("Error modifying p -|-           printf(" Error modifying positi
               printf("Modify parameters -|-           printf(" Modify parameters : SL
              }                          -|-         }
            //--- modified and must exit -|-         //--- modified and must exit fro
            res=true;                    -|-         res = true;
           }                             -|-       }
        }                                -|-     }
     }                                   -|-   } 
//---                                    -|-   //---
   return( res);                          -|-   return( res);
  }                                      -|- }

Em nenhum lugar para aprender o estilo, mas a versão da direita é "Meu estilo", como se eu mesmo a tivesse escrito. O da esquerda é muito mais difícil de ler por alguma razão. Não tenho certeza se é uma questão de hábito.


Vladimir Karputov:
fórum, o kodobase deve ser preenchido com o código no mesmo design.

Absolutamente não! Houve um tempo em que era necessário mudar o estilo do método/nomes de campo para publicação. Por exemplo, em vez disto.i, escreva isto.m_i. Os mesmos requisitos para os nomes de classe - que começam com a letra C. Felizmente, o bom senso prevaleceu e nós não temos mais tais exigências.

Fórum sobre comércio, sistemas automatizados de comércio e teste de estratégias comerciais

Uma sugestão para a facilidade de uso do MetaEditor

Combinador, 2017.09.28 15:00

Eu uso o estilo Olman.

void f()
{
   // some code
   if (condition)
   {
      // some code
   }
}

Ou pelo menos a K&R.

void f() {
   // some code
   if (condition) {
      // some code
   }
}

Estes dois estilos assumem a liderança sobre os outros por uma enorme margem. Ambos têm ninhos de códigos claramente legíveis. Você pode ver onde o bloco pertence, sem problemas de formatação.

Seu estilo está abaixo do GNU, as desvantagens que eu já expressei acima. O GNU tem pelo menos o mesmo travessão de e para as linhas encaracoladas.

Acontece que sempre usei o estilo Olman! K&R - irritante por alguma razão, embora eu tenha visto os principais líderes das olimpíadas realmente gostarem deste estilo.

Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos

Uma sugestão para a facilidade de uso do MetaEditor

Combinador, 2017.09.28 15:15

Já que estamos nisso, a outra coisa estranha em ME é o autocompletar dependente de registro.

Em todos os bons editores, é insensível a casos, portanto, facilita a vida.

Concordo plenamente.
 
Rashid Umarov:

Você pode me tratar como quiser. Eu não sou uma nota de cem dólares para agradar a todos.

O importante é que eu expressei uma opinião que foi ouvida e pode até ser levada em conta.

 
Stanislav Korotky:

Já mencionado em ocasiões anteriores, vou dizer novamente para um novo público.

Objetivamente, existem normas de fato para os estilos. Agora (e nos últimos 10 anos) existem apenas 2 principais para idiomas com sintaxe a la C++/Java. Estes estilos foram expressados pela Combinator. Eles são utilizados na grande maioria das empresas da indústria de software. Eles provaram a si mesmos, são experimentados e testados, são lógicos, compreensíveis e familiares para a grande maioria dos codificadores profissionais.

Tentar promover algo mais, sem benefícios e apenas com falhas, é um fracasso. Não reconhecer estas falhas nada mais é do que teimosia. Eles são objetivos. É claro que o próprio MQ é usado e enganchado neste estilo, mas é apenas mais um bug. É assim que às vezes o software se recusa a corrigir bugs conhecidos, dizendo que já há um monte de produtos de terceiros que se agarraram a este comportamento errôneo. Na realidade, em todos esses casos, devemos procurar uma solução que nos permita manter o antigo comportamento para a compatibilidade com o passado, mas fazer as correções com o chamado "upgrade de protocolo" ou garfo. No contexto dos estilos, existe uma solução simples: um estilizador que pode ser clonado. Isso poderia ter sido feito cem vezes antes.

A propósito, no estilo MQ, os problemas não dizem respeito apenas ao parênteses, mas ao estilo dos comentários - por definição, eles não podem prevalecer sobre o código, o que agora é observado no estilo MQ.


Vou acrescentar sobre os comentários - tente processá-los com qualquer sistema de autodocumentação, você ficará desapontado.

 
Alexey Viktorov:

Então o que foi o espertalhão?


br-r-r-r-r-r, dei um exemplo de código_sem_espaços_e_comas

remover os sublinhados.

 
Alexey Volchanskiy:

br-r-r-r-r-r, dei um exemplo de código_sem_espaços_e_comas

remover os sublinhados

a quem você deu um exemplo de código sem espaços?
 
Rashid Umarov:

Você se permite 'vomitar'.

Roche, qual é o problema com a amordaçamento? Eu também tenho o estilo MQ, e estou sendo sarcástico ao dizer isso?

Formate o kodobase como quiser, ele pode até ser feito automaticamente quando você carrega o código, sem esforço do codificador. Só estou me lembrando: escrevo código, estilo para MQ, guardo-o com um novo nome e carrego-o para revisão. Em seguida, cancelo o estilo e continuo escrevendo. Não é um absurdo?

Eu não tenho recursos para um modelador customizável. Não é como se alguém estivesse fazendo com que isso se encaixasse.
Mas por que pegar a cruz e ir dizer a todos que sua fé é a correta (sem absolutamente nenhum argumento!)??