Styler im MetaTrader 5-Handelsterminal

 

Diskussion über den Styler MQL5. Begonnen hier


Ich muss mir einen anderen Code ansehen. Dazu gehört auch schlecht geschriebener Code.

Eine gute Formatierung erleichtert das Lesen des Codes erheblich.


Daher wird die Sache imho von der Mehrheit der normalen Programmierer aufgrund der spezifischen Formatierung und des Mangels an Optionen nicht in Anspruch genommen werden.

Ich schlage vor, entweder eine Anpassung vorzunehmen oder ein wirklich allgemeines Format zu verwenden.

Als Option können Sie einen von 2-3 Stilen wählen.

Вот это стиль! :) - MQL4 форум
  • www.mql5.com
Вот это стиль! :) - MQL4 форум
 
TheXpert :
Diskussion über den Styler MQL5


Guano, weil es nicht anpassbar ist.

 
TheXpert :

Ich schlage vor, entweder eine individuelle Anpassung vorzunehmen oder die Formatierung in einem wirklich allgemeinen Stil vorzunehmen.

Alternativ können Sie auch zwischen 2-3 Stilen wählen.

+

 

Eigentlich ist die Lösung trivial und bereits von vielen IDEs implementiert.

Für jedes syntaktische Element ( { ( for function <= if ......) werden Regeln festgelegt: wie viele Leerzeichen davor und danach eingefügt werden sollen und ob ein Zeilenumbruch davor oder danach erforderlich ist.

Die benutzerdefinierten Einstellungen sollten in einer Datei gespeichert und beim Start des Editors automatisch geladen werden (mit Priorität).

Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
  • www.mql5.com
Основы языка / Типы данных / Целые типы / Символьные константы - Документация по MQL5
 
Es wäre gut, die Stile anpassbar zu machen.
 
sol :
Es wäre gut, die Styler anpassbar zu machen.


... dies ist die wichtigste Frage für die Entwickler...

Ist es möglich, einen anpassbaren Styler zu schaffen? dass es möglich ist - daran besteht kein Zweifel. die Frage ist eine andere, was sind die Aussichten und Prioritäten für die Berücksichtigung dieses Wunsches?

 

Meine Herren, für wen wird der Code geschrieben?


Ich bin mir ziemlich sicher, dass es für andere Programmierer ist. Es ist für sie sehr unangenehm, den unformatierten Code anderer Leute zu lesen.


Um genau dieses Problem zu lösen, haben wir die integrierte Styler-Funktion entwickelt. Wenn Sie wollen, dass andere Leute (nicht Sie, sondern andere Leute) bereit sind, sich Ihren Code anzusehen, sollten Sie ihn so einfach und eindeutig wie möglich gestalten. Und das Schlüsselwort hier ist "Menschen", nicht "Sie".



Ein einheitliches Styling ist für die MQL5.community wichtig, da wir in der Code Base eine riesige Datenbank von Quellen sammeln. Das bedeutet, dass diese Quellen von einer großen Zahl von Drittentwicklern und Nutzern gelesen werden.


Um eine unverständliche Codesammlung zu vermeiden, werden alle veröffentlichten Skripte automatisch

  1. von einem Styler gereinigt
  2. auf Korrektheit prüfen
  3. Standard-Screenshots für Indikatoren erstellen

Es liegt auf der Hand, dass ein einheitlicher Stil für die Lösung der globalen Aufgabe der Pflege von Schulungsarchiven äußerst wichtig ist.
 
Rosh писал(а) >>

Die Logik besteht darin, dass der Code an die Verschachtelungsebene angepasst wird. Wie wir sehen können, gibt es hier keine Meinungsverschiedenheiten.

Die öffnenden und schließenden Klammern sind jedoch kein Code, sondern Gestaltungselemente, so dass sie den Code um ein Zeichen überschreiten.


Das hat mich überrascht. Ich dachte immer, dass ein Fehler bei der Einstellung dieses so genannten "Designelements" den Code drastisch verändern könnte. Es stellt sich jedoch heraus, dass es sich gar nicht um ein Code-Element handelt. Hier ist ein Beispiel:

if (условие) function1(); function2();

и ____________________________________

if (условие) {function1(); function2();}

Der Compiler sagte: "Es ist in Ordnung!". Aber das Programm wird nicht funktionieren. Wo liegt der Fehler? Im Layout? Oder im Code?

 

Klammern Sie sich bitte nicht an Worte.


Strenge (sogar an die Persönlichkeitsrechte grenzende) Designregeln können Killercode der Art

if (условие) function1(); function2();

Man könnte sogar sagen, dass Schwäche in diesem Bereich das Entwicklungsteam ins Chaos stürzt.


Um dieses Chaos zu reduzieren, haben wir einen knallharten, unkonfigurierbaren Styler entwickelt.


Ein paar Tausend Skripte in der MQL4-Codebasis sind durch die Hände unserer Redakteure gegangen, die die verwendeten Stile viel strenger beurteilt hätten. Wir wollen einen solchen Prozess nicht noch einmal durchlaufen.

 
Renat :


Es ist klar, dass es für die Lösung der globalen Aufgabe der Pflege von Schulungsarchiven äußerst wichtig ist, einen einheitlichen Stil zu haben.


100% richtig.

Es muss einen EINZIGEN Stil geben. Aber jeder sollte und DARF seinen eigenen Stil haben.

Viele Leute sind an andere gängige Stile wie VC++ gewöhnt (und ich unterstütze z.B. ForexTools, ich benutze es selbst).

Warum die ohnehin schon gequälten Gehirne der Programmierer strapazieren... Es ist einfacher, diesen Stil anpassbar zu machen. Sie wissen wahrscheinlich, wie es sich anfühlt, wenn Sie einen anderen Codestil sehen und versucht sind, ihn in Ihren eigenen, gewohnten, bequemen Stil zu ändern, den Sie seit 15 Jahren verwenden...


Ich denke, es ist nicht so schwer, statt der Klammern { } auf den Text zu bewegen, und dann 1 Leerzeichen davon entfernt - nichts mit ihnen zu tun. Halten Sie es auf gleicher Höhe mit seinem Elternteil für, wenn, ...

 
sergeev :


100% richtig.

Es muss einen EINZIGEN Stil geben. Aber jeder sollte und DARF seinen eigenen Stil haben.

Wenn Sie für sich selbst schreiben, verwenden Sie einfach nicht den normalen Styler.


Programmierer schreiben den Code nicht für sich selbst, sondern denken fälschlicherweise, dass sie es tun. Sie wissen es, nicht wahr?