Diskussion zum Artikel "Automatisch generierte Dokumentation für den MQL5-Code"

 

Neuer Artikel Automatisch generierte Dokumentation für den MQL5-Code :

Die meisten Personen, die Codes in Java anlegen, kennen bestimmt die automatisch generierte Dokumentation, die zusammen mit JavaDocs erstellt werden kann. Hierbei geht es um die Ergänzung des Codes durch Anmerkungen auf semi-strukturierte Weise, die dann in eine leicht zu navigierende Hilfe-Datei extrahiert werden können. In der C++ Welt gibt es ebenfalls einige automatische Dokumentations-Generatoren, von denen SandCastle und Doxygen von Microsoft die beiden Spitzenreiter sind. Dieser Beitrag beschreibt die Verwendung von Doxygen zur Erzeugung einer HTML Hilfe-Datei auf Basis strukturierter Anmerkungen im MQL5-Code. Der Versuch hat prima funktioniert und ich glaube, dass die Hilfs-Dokumentation, die Doxygen aus dem MQL5-Code liefert ganz erheblichen Mehrwert mit sich bringt.

2. Doxygen

Doxygen ist ein automatischer Open Source Dokumentations-Generator, der unter der GNU-Lizenz für freie Dokumentation zur Verfügung steht, was bedeutet, dass seine Entwicklung anderen Open Sourcen Projekten wie z.B. Linux und Mozilla ähnelt. Doxygen kann gratis heruntergeladen und benutzt werden. Sein Quellcode steht jedem zur Verfügung und seine Entwicklung und weitere Verbesserung werden in gemeinschaftlicher Arbeit von einigen Entwicklern gemacht, die ihre Zeit zur Verfügung stellen.

Auf seiner simpelsten Nutzungsebene, zerlegt Doxygen einfach jeden C++ (oder MQL5) Code in einem Projekt und zeigt seine Struktur in einer leicht zu navigierenden Hilfe-Datei an. Dies ist insbesondere bei Objekt-orientierten Codesets hilfreich, die ja meist eine umfassende Klassenhierarchie und eine große Anzahl an Mitgliedfunktionen haben. Um jedoch alle Features von Doxygen auch komplett nutzen zu können, sollte de Code auch mit strukturierten Anmerkungen versehen sein, damit Doxygen diese lesen und in die generierte Hilfe-Datei entsprechende Informationen hinzufügen kann.

2.1 Doxygen herunterladen

Die Doxygen Homepage lautet: http://www.doxygen.org/. Dort gehen Sie einfach zur Download-Seite und laden sich dort die aktuelle Version für Windows herunter. Als dieser Beitrag entstand war das Doxygen-1.6.1, vgl. unten

Abb. 1 Doxygen herunterladen

Autor: Paul

 

Gut gemacht! Obwohl es nur geeignet ist, wenn Sie MQL5 Bibliotheken verkaufen :(

 

Toller Artikel!

 
Kann ich es mit MQL4 verwenden? Es ist doch sehr ähnlich wie C, und doxygen soll das auch unterstützen.
 
gordon   :
Kann ich es mit MQL4 verwenden? Es ist doch sehr ähnlich wie C, und Doxygen sollte das auch unterstützen.

Ja, es funktioniert Gordon. Es gibt eine Option im zweiten Wizard-Modus-Bildschirm, um "für C- oder PHP-Ausgabe zu optimieren". Natürlich sind alle MQL4-Funktionen global, so dass es keine Vorteile der MQL5-Klassengruppierung gibt.

Ich habe unten einen Screenshot einiger Ausgaben für LibOrderReliable mit der C-Option angehängt. LibOrderReliable ist ein sehr gut dokumentierter Wrapper für die MQL4-Handelsfunktionen, um sie ausfallsicherer zu machen. Um die Dokumentation in der Doxygen-Ausgabe erscheinen zu lassen, müssten die Kommentare im Code ähnlich angepasst werden wie die, die ich für den MQL5-Code gemacht habe.

Paul

http://p aulsfxrandomwalk.blogspot.com/

 

Oh, ich verstehe, was du mit den Klassen meinst. Also vielleicht nicht wirklich wert, es für MQL4 zu verwenden.

 
Vielen Dank für diesen Artikel! Genau das, was ich brauche. Und vielleicht gibt es Generatoren mit msdn-Stil?
 

Bei der Erstellung von Dokumentationen für Programme, die Kommentare in russischer Sprache enthalten, ist es wichtig, die richtige Kodierung anzugeben.

Andernfalls erhalten Sie möglicherweise Quadrate anstelle von russischsprachigen Kommentaren:

Standardmäßig ist in Doxygen in den Projektoptionen (Expert->Projekt) die Option DOXYFILE_ENCODING auf UTF-8 eingestellt,

Daher ist es besser, bei der Erstellung der Dokumentation einen separaten Ordner zu erstellen, in dem die Dateien in UTF-8-Kodierung gespeichert werden:

Das Ergebnis ist:

Eine weitere wichtige Option OUTPUT_LANGUAGE mit der angegebenen Sprache (Russisch) ermöglicht es Ihnen, Menüs und Beschreibungen in Russisch zu erstellen:

Die Dokumentation erleichtert das Studium der Struktur und der Eigenschaften von Programmen, daher sollten Sie versuchen, die Dokumentation den Quellcodes beizufügen.

Автоматическое создание документации к программам на MQL5
Автоматическое создание документации к программам на MQL5
  • 2009.11.23
  • Paul
  • www.mql5.com
Большинство Java программистов знакомы с автоматическим созданием документации, которая может быть создана при помощи программы JavaDocs. В мире C++ также есть несколько автоматических генераторов документации, одними из лидеров являются программы Microsoft's SandCastle и Doxygen. В статье описано, как можно использовать программу Doxygen для создания структурированных файлов справки HTML для программ, написанных на MQL5. Результаты данной работы убедили меня использовать Doxygen (или похожие программы) в будущем для создания документации к любому моему коду на MQL5, это значительно облегчает его понимание и использование.
 
Automated-Trading писал(а) # :

Daher ist es besser, bei der Erstellung von Dokumentationen einen separaten Ordner zu erstellen, in dem die Dateien in UTF-8-Kodierung gespeichert werden:

Es ist einfacher, INPUT_ENCODING auf der Registerkarte Input auf windows-1251 zu setzen. Und keine Probleme mit Kodierungen
 
GarF1eld писал(а) # :
Es ist einfacher, INPUT_ENCODING als windows-1251 auf der Registerkarte Input einzustellen. Und keine Probleme mit Kodierungen

Natürlich wäre das einfacher.

aber aus irgendeinem Grund fügt Doxygen (ich habe 1.6.2) in alle Dateien ein

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>

obwohl in den Einstellungen

d.h. die Dateien sind in der geforderten Kodierung, und die Anzeige kann korrigiert werden, wenn in allen html-Dateien mit ersetzt wird:

<meta http-equiv="Content-Type" content="text/xhtml;charset=windows1251"/>

Die Frage ist nur, wie man das umgehen kann, damit es von selbst funktioniert.
 
Ehrlich gesagt ist mir das nicht aufgefallen, da ich mit UTF-8 sehr zufrieden bin, und als ich ein Problem mit Crocoblasts hatte, habe ich einfach INPUT_ENCODING geändert.