Ein Vorschlag zur Verbesserung der Benutzerfreundlichkeit des MetaEditor - Seite 6

 
Комбинатор:
)) Nun, Sie wissen, wie man unhöflich zu sein, habe ich schon verstanden, aber ich habe nicht gesehen, eine Begründung für Ihren Standpunkt oder eine Widerlegung von mir.

Belinsky würde sich sicherlich nicht an einem öffentlichen Ort so äußern. Es werden also keine Beschwerden angenommen.

Und keine Rechtfertigung für den "Kotzreflex", den Ihre Verweise auf Behörden nicht geben können.

 
Alexey Viktorov:

Dies ist ein replikatorischer Code.

Ich sprach von Leerzeichen nach dem Komma zur Trennung von Parametern und Zeichen

Es liest sich besser

als dies.


Deshalb habe ich ein Gegenbeispiel gegeben ))

Hier ist ein Beispiel für meinen Code, direkt aus der Praxis

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

***

 

Ich habe es bereits bei früheren Gelegenheiten erwähnt, aber ich werde es für ein neues Publikum noch einmal sagen.

Objektiv gesehen gibt es De-facto-Standards für Stile. Jetzt (und in den letzten 10 Jahren) gibt es nur noch 2 Haupttypen für Sprachen mit einer Syntax à la C++/Java. Diese Stile wurden von Combinator geäußert. Sie werden in der überwiegenden Mehrheit der Unternehmen der Softwarebranche eingesetzt. Sie haben sich bewährt, sie sind erprobt und getestet, sie sind logisch, verständlich und der großen Mehrheit der professionellen Programmierer vertraut.

Der Versuch, etwas anderes zu fördern, ohne Vorteile und nur mit Mängeln, ist ein Misserfolg. Diese Mängel nicht anzuerkennen, ist nichts anderes als Sturheit. Sie sind objektiv. Es ist klar, dass MQ selbst an diesen Stil gewöhnt ist und sich daran gewöhnt hat, aber es ist nur ein weiterer Fehler. So weigert sich Software manchmal, bekannte Fehler zu beheben, mit der Begründung, dass es bereits eine Reihe von Produkten von Drittanbietern gibt, die sich dieses fehlerhafte Verhalten zu eigen gemacht haben. In Wirklichkeit sollten wir in all diesen Fällen nach einer Lösung suchen, die es uns ermöglicht, das alte Verhalten aus Gründen der Abwärtskompatibilität beizubehalten, aber die Korrekturen mit einem so genannten "Protokoll-Upgrade" oder Fork vorzunehmen. Im Zusammenhang mit den Stilen gibt es eine einfache Lösung: einen anpassbaren Styler. Das hätte man schon hundertmal machen können.

Im MQ-Stil betreffen die Probleme übrigens nicht nur die Platzierung von Klammern, sondern auch den Stil von Kommentaren - sie können per Definition den Code nicht überschreiben, was jetzt im MQ-Stil beobachtet wird.

 
Alexey Volchanskiy:

Deshalb habe ich ein Gegenbeispiel gegeben ))

Hier ist ein Beispiel für meinen Code, direkt aus der Praxis

***

Worum ging es dann bei dem Klugscheißer?

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

Den Stil kann man nirgends lernen, aber die Version rechts ist "Mein Stil", als ob ich ihn selbst geschrieben hätte. Die linke Seite ist aus irgendeinem Grund viel schwieriger zu lesen. Ich bin nicht sicher, ob das eine Frage der Gewohnheit ist.


Wladimir Karputow:
forum, kodobase sollte mit Code im gleichen Design gefüllt werden.

Auf keinen Fall! Es gab eine Zeit, in der es erforderlich war, den Stil der Methoden-/Feldnamen für die Veröffentlichung zu ändern. Schreiben Sie zum Beispiel anstelle von this.i this.m_i. Die gleichen Anforderungen gelten für Klassennamen - sie müssen mit dem Buchstaben C beginnen. Zum Glück hat der gesunde Menschenverstand gesiegt, und wir haben keine derartigen Forderungen mehr.

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Ein Vorschlag zur Verbesserung der Benutzerfreundlichkeit von MetaEditor

Combinator, 2017.09.28 15:00

Ich verwende den Olman-Stil.

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

Oder zumindest K&R.

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

Diese beiden Stile liegen mit großem Abstand vor den anderen. Beide haben eine klar lesbare Codeschachtelung. Sie können sehen, wo der Block hingehört, es gibt keine Formatierungsprobleme.

Ihr Stil ist unter-GNU, die Nachteile habe ich oben geäußert. GNU hat zumindest den gleichen Einzug von und zu den geschweiften Klammern.

Es hat sich herausgestellt, dass ich schon immer den Olman-Stil verwendet habe! K&R - aus irgendeinem Grund lästig, obwohl ich gesehen habe, dass Spitzen-Olympiadeleiter diesen Stil wirklich mögen.

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

Ein Vorschlag zur Verbesserung der Benutzerfreundlichkeit von MetaEditor

Combinator, 2017.09.28 15:15

Wenn wir schon dabei sind, die andere unangenehme Sache an ME ist die registerabhängige Autovervollständigung.

In allen guten Editoren wird nicht zwischen Groß- und Kleinschreibung unterschieden, was das Leben einfacher macht.

Ich stimme völlig zu.
 
Rashid Umarov:

Du kannst mich behandeln, wie du willst. Ich bin keine Hundertdollarnote, die jedem gefällt.

Das Wichtigste ist, dass ich eine Meinung geäußert habe, die gehört wurde und vielleicht sogar berücksichtigt wird.

 
Stanislav Korotky:

Ich habe es bereits bei früheren Gelegenheiten erwähnt, aber ich werde es für ein neues Publikum noch einmal sagen.

Objektiv gesehen gibt es De-facto-Standards für Stile. Jetzt (und in den letzten 10 Jahren) gibt es nur noch 2 Haupttypen für Sprachen mit einer Syntax à la C++/Java. Diese Stile wurden von Combinator geäußert. Sie werden in der überwiegenden Mehrheit der Unternehmen der Softwarebranche eingesetzt. Sie haben sich bewährt, sie sind erprobt und getestet, sie sind logisch, verständlich und der großen Mehrheit der professionellen Programmierer vertraut.

Der Versuch, etwas anderes zu fördern, ohne Vorteile und nur mit Mängeln, ist ein Misserfolg. Diese Mängel nicht anzuerkennen, ist nichts anderes als Sturheit. Sie sind objektiv. Es ist klar, dass MQ selbst an diesen Stil gewöhnt ist und sich daran gewöhnt hat, aber es ist nur ein weiterer Fehler. So weigert sich Software manchmal, bekannte Fehler zu beheben, mit der Begründung, dass es bereits eine Reihe von Produkten von Drittanbietern gibt, die sich dieses fehlerhafte Verhalten zu eigen gemacht haben. In Wirklichkeit sollten wir in all diesen Fällen nach einer Lösung suchen, die es uns ermöglicht, das alte Verhalten aus Gründen der Abwärtskompatibilität beizubehalten, aber die Korrekturen mit einem so genannten "Protokoll-Upgrade" oder Fork vorzunehmen. Im Zusammenhang mit Stilen gibt es eine einfache Lösung: ein Styler, der geklont werden kann. Das hätte man schon hundertmal machen können.

Übrigens, im MQ-Stil Probleme betreffen nicht nur die Klammerung, sondern den Stil der Kommentare - sie per Definition kann nicht über den Code, der jetzt in der MQ-Stil beobachtet wird herrschen.


Ich möchte noch etwas zu den Kommentaren hinzufügen: Versuchen Sie, sie mit einem beliebigen automatischen Dokumentationssystem zu verarbeiten, Sie werden enttäuscht sein.

 
Alexey Viktorov:

Worum ging es dann bei dem Klugscheißer?


br-r-r-r-r, ich habe ein Beispiel für Code_ohne_Leerzeichen_und_Kommas gegeben

entfernen Sie die Unterstriche.

 
Alexey Volchanskiy:

br-r-r-r-r, ich habe ein Beispiel für Code_ohne_Leerzeichen_und_Kommas gegeben

Entfernen Sie die Unterstriche

Wer hat Ihnen ein Beispiel für einen Code ohne Leerzeichen gegeben?
 
Rashid Umarov:

Du erlaubst dir, dich zu "übergeben".

Roche, was ist das Problem mit dem Knebeln? Auch ich habe den MQ-Stil, und bin ich sarkastisch, wenn ich das sage?

Formatieren Sie die kodobase wie Sie wollen, es kann sogar automatisch geschehen, wenn Sie den Code laden, ohne den Programmierer zu belasten. Ich erinnere mich gerade: Ich schreibe Code, gestalte ihn für MQ, speichere ihn unter einem neuen Namen und lade ihn zur Überprüfung hoch. Dann breche ich das Styling ab und schreibe weiter. Ist das nicht Unsinn?

Ich habe keine Ressourcen für einen anpassbaren Styler. Es ist ja nicht so, dass es jemand passend macht.
Aber warum sollte man das Kreuz nehmen und allen sagen, dass der eigene Glaube der richtige ist (ohne jegliche Argumente!)?