"MQL5 Kodu için Otomatik Oluşturulan Belgeler" makalesi için tartışma

 

Yeni makale MQL5 Kodu için Otomatik Oluşturulan Belgeler yayınlandı:

Çoğu Java kodlayıcısı, JavaDocs ile oluşturulabilen otomatik olarak oluşturulmuş belgelere aşinadır. Buradaki fikir, koda daha sonra gezinmesi kolay bir yardım dosyasına çıkarılabilecek yarı yapılandırılmış bir şekilde açıklamalar eklemektir. C++ dünyası ayrıca Microsoft SandCastle ve Doxygen'in iki lider olduğu bir dizi otomatik belge oluşturucu içerir. Makalede, MQL5 kodundaki yapılandırılmış açıklamalardan HTML yardım dosyası oluşturmak için Doxygen'in kullanımı açıklanmaktadır. Deneme çok iyi çalıştı ve Doxygen'in MQL5 kodundan ürettiği yardım belgelerinin büyük bir değer katacağına inanıyorum.

Doxygen'in en güçlü olduğu konu, büyük projeler için bir yardım dosyası oluşturmaktır. MetaTrader 5 ile MQL5 klasörü altında dağıtılan, çoğu birbiriyle ilişkili yüzün üzerinde .mq5 ve .mqh dosyasıdır.

Yukarıda özetlenen temel Metaquotes - Doxygen açıklama dönüştürmelerini gerçekleştiren MetaquotesCommentsToDoxygen.mq5 (ekli zip dosyasında yer alır) bir yardımcı script dosyası yazdım. Bu, bir yardım dosyası oluşturmak için gerekli bir adım değildir, ancak Doxygen'in faydalı ek belgeleme özelliklerinin bir gösterimini sağlar.

Bir MQL5 kod kümesi yardım dosyası oluşturmak için kullandığım yordam aşağıdaki gibidir.

  • MQL5 klasörünü ve alt klasörlerini MQL5/files içine kopyalayın
  • MQL5/files/MQL5/Include/Strings/string.mqh'yi kaldırın - bilinmeyen bir nedenle bu dosya Doxygen'in kod ayrıştırmasını tamamlamasını engelledi

Yapılandırılmış açıklamalardan ek belgeler için isteğe bağlı:

  • MQL5/Files klasöründen, Windows/DOS komutunu xcopy *.mq* c:\ /S/L > MQL5codeList.txt çalıştırın
  • Herhangi bir grafikte MetaquotesCommentsToDoxygen.mq5 script dosyasını yürütün

Ortaya çıkan yardım belgeleri kalitelidir ve kullanışlılığını hızlı bir şekilde gösterir - Şekil 9 ila 12, gördüklerinize ilişkin örnekler içerir


Yazar: Paul

 

İyi iş çıkardınız! Her ne kadar sadece MQL5 kütüphaneleri satıyorsanız uygun olsa da :(

 

Harika bir makale!

 
MQL4 ile kullanabilir miyim? Sonuçta C'ye çok benziyor ve doxygen'in de bunu desteklemesi gerekiyor.
 
gordon   :
MQL4 ile kullanabilir miyim? Sonuçta C'ye çok benziyor ve doxygen'in de bunu desteklemesi gerekiyor.

Evet, çalışıyor Gordon. İkinci Sihirbaz Modu ekranında "C veya PHP çıktısı için optimize et" seçeneği var. Açıkçası tüm MQL4 işlevleri globaldir, bu nedenle MQL5 sınıf gruplamasının hiçbir avantajı yoktur.

C seçeneğini kullanarak LibOrderReliable için bazı çıktıların ekran görüntüsünü aşağıya ekledim. LibOrderReliable, MQL4 ticaret fonksiyonlarını daha güvenli hale getirmek için çok iyi belgelenmiş bir sarmalayıcıdır. Dokümantasyonun Doxygen çıktısında görünmesini sağlamak için, kod içi yorumların MQL5 kodunda yaptıklarıma benzer ayarlamalara ihtiyacı olacaktır.

Paul

http://p aulsfxrandomwalk.blogspot.com/

 

Sınıflar hakkında ne demek istediğinizi anlıyorum. Bu yüzden belki de MQL4 için kullanmaya değmez.

 
Yazı için teşekkürler! Tam da ihtiyacım olan şey. Ve belki msdn tarzı jeneratörler vardır?
 

Rusça yorumlar içeren programlar için dokümantasyon oluştururken doğru kodlamayı belirtmek önemlidir.

Aksi takdirde Rusça yorumlar yerine kareler alabilirsiniz:

Doxygen'de varsayılan olarak proje seçeneklerinde (Expert->Project) DOXYFILE_ENCODING seçeneği UTF-8 olarak ayarlanmıştır,

bu nedenle dokümantasyon hazırlarken UTF-8 kodlamasında kaydedilmiş dosyalarla ayrı bir klasör oluşturmak daha iyidir:

Sonuç şu şekildedir:

Bir diğer önemli seçenek OUTPUT_LANGUAGE, belirtilen dil (Rusça) ile Rusça menüler ve açıklamalar oluşturmanıza olanak tanır:

Dokümantasyon, programların yapısını ve özelliklerini incelemeyi kolaylaştırır, bu nedenle kaynak kodlara dokümantasyon eklemeye çalışın.

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

Bu nedenle, dokümantasyon hazırlarken, UTF-8 kodlamasında kaydedilmiş dosyalarla ayrı bir klasör oluşturmak daha iyidir:

Giriş sekmesinde INPUT_ENCODING'i windows-1251 olarak ayarlamak daha kolaydır. Ve kodlamalarla ilgili sorun yok
 
GarF1eld писал(а) # :
Giriş sekmesinde INPUT_ENCODING'i windows-1251 olarak ayarlamak daha kolaydır. Ve kodlamalarla ilgili sorun yok

Tabii ki bu daha kolay olurdu.

ancak bazı nedenlerden dolayı doxygen (1.6.2 sürümüne sahibim) tüm dosyalara ekler

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

ayarlarda olmasına rağmen

yani dosyalar gerekli kodlamadadır ve tüm html dosyalarında şu şekilde değiştirilirse görüntü düzeltilebilir:

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

Ancak asıl soru, bunu kendi başına yapması için onu nasıl yeneceğimizdir.
 
Açıkçası UTF-8 ile oldukça mutlu olduğum için fark etmedim ve krokoblastlarla ilgili bir sorun yaşadığımda INPUT_ENCODING'i değiştirdim.