Une suggestion pour la facilité d'utilisation du MetaEditor - page 6

 
Комбинатор:
)) Eh bien vous savez être impoli, j'ai déjà compris, mais je n'ai pas vu de raison pour votre point de vue ou la réfutation du mien.

Belinsky ne s'exprimerait certainement pas comme ça dans un lieu public. Aucune plainte n'est donc acceptée.

Et aucune justification pour le "réflexe de vomissement" que vos références aux autorités ne peuvent donner.

 
Alexey Viktorov:

C'est le code de la réplique.

Je parlais des espaces après la virgule séparant les paramètres et les caractères.

Il se lit mieux

que ça.


J'ai donc donné un exemple du contraire ;))

Voici un exemple de mon code, directement issu du direct

    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);
        }
    }

***

 

Déjà noté en de précédentes occasions, je le répète pour un nouveau public.

Objectivement, il existe des normes de facto pour les styles. Aujourd'hui (et depuis 10 ans), il n'en existe que deux principaux pour les langages dont la syntaxe est du type C++/Java. Ces styles ont été exprimés par Combinator. Ils sont utilisés dans la grande majorité des entreprises du secteur des logiciels. Ils ont fait leurs preuves, ils sont éprouvés, ils sont logiques, compréhensibles et familiers à la grande majorité des codeurs professionnels.

Essayer de promouvoir quelque chose d'autre, sans avantages et avec seulement des défauts, est un échec. Ne pas reconnaître ces défauts n'est rien d'autre que de l'entêtement. Ils sont objectifs. Il est clair que MQ lui-même est habitué et accro à ce style, mais c'est juste un autre bug. C'est ainsi que parfois, les logiciels refusent de corriger les bogues connus, en affirmant qu'il existe déjà un tas de produits tiers qui se sont emparés de ce comportement erroné. En réalité, dans tous ces cas, nous devrions chercher une solution qui nous permette de conserver l'ancien comportement pour assurer une compatibilité ascendante, mais d'apporter les corrections au moyen d'une "mise à niveau du protocole" ou d'une bifurcation. Dans le contexte des styles, il existe une solution simple : un styler qui peut être cloné. Cela pourrait être fait une centaine de fois déjà.

Dans le style MQ, d'ailleurs, les problèmes ne concernent pas seulement le placement des parenthèses, mais aussi le style des commentaires - ils ne peuvent par définition pas remplacer le code, ce qui est maintenant observé dans le style MQ.

 
Alexey Volchanskiy:

J'ai donc donné un exemple du contraire ;))

Voici un exemple de mon code, directement issu du direct

***

Alors pourquoi tu as fait le malin ?

 
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);
  }                                      -|- }

Nulle part pour apprendre le style, mais la version de droite est "Mon style", comme si je l'avais écrite moi-même. Celui de gauche est beaucoup plus difficile à lire pour une raison quelconque. Je ne suis pas sûr que ce soit une question d'habitude.


Vladimir Karputov:
forum, kodobase devrait être rempli de code dans le même design.

Absolument pas ! Il fut un temps où il était nécessaire de modifier le style des noms de méthodes/champs pour la publication. Par exemple, au lieu de ce.i, écrivez ce.m_i. Les mêmes exigences pour les noms de classe - qu'ils commencent par la lettre C. Heureusement, le bon sens a prévalu et nous n'avons plus de telles demandes.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Une suggestion pour la facilité d'utilisation de MetaEditor

Combinator, 2017.09.28 15:00

J'utilise le style Olman.

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

Ou au moins K&R.

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

Ces deux styles prennent une avance considérable sur les autres. Les deux ont une imbrication de code clairement lisible. Vous pouvez voir où se trouve le bloc, pas de problème de formatage.

Votre style est sous-GNU, les inconvénients que j'ai exprimés ci-dessus. GNU a au moins la même indentation depuis et vers les accolades.

Il s'avère que j'ai toujours utilisé le style Olman ! K&R - ennuyeux pour une raison quelconque, bien que j'aie vu de grands animateurs d'olympiades apprécier ce style.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Une suggestion pour la facilité d'utilisation de MetaEditor

Combinator, 2017.09.28 15:15

Pendant que nous y sommes, l'autre chose gênante à propos de ME est l'autocomplétion dépendant du registre.

Dans tous les bons éditeurs, il est insensible à la casse, ce qui facilite la vie.

Je suis tout à fait d'accord.
 
Rashid Umarov:

Tu peux me traiter comme tu veux. Je ne suis pas un billet de cent dollars pour plaire à tout le monde.

L'important est que j'ai exprimé une opinion qui a été entendue et qui pourrait même être prise en compte.

 
Stanislav Korotky:

Déjà noté en de précédentes occasions, je le répète pour un nouveau public.

Objectivement, il existe des normes de facto pour les styles. Aujourd'hui (et depuis 10 ans), il n'en existe que deux principaux pour les langages dont la syntaxe est du type C++/Java. Ces styles ont été exprimés par Combinator. Ils sont utilisés dans la grande majorité des entreprises du secteur des logiciels. Ils ont fait leurs preuves, ils sont éprouvés, ils sont logiques, compréhensibles et familiers à la grande majorité des codeurs professionnels.

Essayer de promouvoir quelque chose d'autre, sans avantages et avec seulement des défauts, est un échec. Ne pas reconnaître ces défauts n'est rien d'autre que de l'entêtement. Ils sont objectifs. Il est clair que MQ lui-même est habitué et accro à ce style, mais c'est juste un autre bug. C'est ainsi que parfois, les logiciels refusent de corriger les bogues connus, en affirmant qu'il existe déjà un tas de produits tiers qui se sont emparés de ce comportement erroné. En réalité, dans tous ces cas, nous devrions chercher une solution qui nous permette de conserver l'ancien comportement pour assurer une compatibilité ascendante, mais d'apporter les corrections au moyen d'une "mise à niveau du protocole" ou d'une bifurcation. Dans le contexte des styles, il existe une solution simple : un styler qui peut être cloné. Cela pourrait être fait une centaine de fois déjà.

À propos, dans le style MQ, les problèmes ne concernent pas seulement les parenthèses, mais aussi le style des commentaires - par définition, ils ne peuvent pas prévaloir sur le code, ce qui est maintenant observé dans le style MQ.


J'ajouterai à propos des commentaires - essayez de les traiter avec n'importe quel système d'autodocumentation, vous serez déçu.

 
Alexey Viktorov:

Alors pourquoi tu as fait le malin ?


br-r-r-r-r, j'ai donné un exemple de code sans espaces et sans virgules.

supprimez les caractères de soulignement.

 
Alexey Volchanskiy:

br-r-r-r-r, j'ai donné un exemple de code sans espaces et sans virgules.

supprimer les underscores

à qui avez-vous donné un exemple de code sans espaces ?
 
Rashid Umarov:

Vous vous autorisez à "vomir".

Roche, quel est le problème avec les bâillons ? Moi aussi, j'ai le style MQ, et est-ce que je suis sarcastique en le disant ?

Formatez la kodobase comme vous le souhaitez, cela peut même se faire automatiquement lorsque vous chargez le code, sans fatiguer le codeur. Je me souviens juste : j'écris du code, je le stylise pour MQ, je le sauvegarde sous un nouveau nom et je le télécharge pour révision. Ensuite, j'annule le stylisme et je continue à écrire. N'est-ce pas une absurdité ?

Je n'ai pas de ressources pour un styler personnalisable. Ce n'est pas comme si quelqu'un le faisait tenir.
Mais pourquoi prendre la croix, et aller dire à tout le monde que votre foi est la bonne (sans aucun argument !) ?