MetaTrader 5 ticaret terminalinde şekillendirici - sayfa 6

 
Renat :

Kod Tabanını kendiniz topladığınızda, bakımını yaptığınızda ve ödediğinizde, soru hemen ortadan kalkacaktır.

Hayır, hala gülüyorsun.

Şekillendirici tabanla nasıl ilişkilidir? Programcının (işini kolaylaştırmak için kullandığı) aracının yayın kurallarıyla (ki onun çalışmasıyla hiç ilgisi olmayabilir) arasında nasıl bir ilişki vardır?

Yayınlanmadan önceki tüm kodların bir şekillendirici ile otomatik olarak "tarayacağını" kendiniz söylediniz. Bu yüzden yayınlamadan önce onları kendi tarzınızda “taramasına” izin verin, kimse bu konuda tartışmıyor!

"Temel" ve "stilleyici" kavramlarını ayırın, her şey yerine oturacaktır.



Renat :

Yoksa etraftaki her şeyin bedava olduğunu mu düşünüyorsunuz?

Renat, tabanın (dolaylı da olsa) gelir getirdiğini çok iyi anlıyorsunuz.

Ve nedense terminali ücretsiz olarak da dağıtıyorsunuz.



Renat :

Şimdi tüm konuşmalar yalnızca "yapılandırılamaz olduğu için kötü" ilkeli konumla ilgili.

Belirli noktalara geçelim - şekillendirici tarafından hangi noktanın ve neden yanlış yapıldığını belirtin.

Yanlış, belirli bir eylem değil, yaklaşımın kendisidir.

Bir (ne olursa olsun) stil üzerinde durmak kabul edilemez. Siz öncü değilsiniz ve birkaç farklı programlama stili önünüzde yerleşmiş durumda. Ve her birinin kendi avantajları ve dezavantajları vardır ve her biri kullanıcısına aşinadır.

Bir seçeneği seçmek, programcıların yarısından fazlasını otomatik olarak bırakmak anlamına gelir. Onları yeniden eğitmeye zorlayamazsınız. Ayrıca, birçok kişi diğer dillerde programlama konusunda sağlam bir deneyim yaşadıktan sonra MQL'de yazmaya başlar.


Çözüm basit ve açıktır - özel seçenekler ve bazı standart stiller yapın. Varsayılan olarak, kendinizinkini koyun, ancak ayarlarını değiştirme fırsatı verin. İnanın bana, yeni başlayanlar (birden "yanlış" yazmaya başlayacaklarından endişelenirseniz) bu ayarlara asla giremezler!


Ayar örnekleri listelensin mi? ;)

 
Teşekkür ederim, bir nokta "Kıvrımlı ayraçtan önce kaç boşluk bırakılacağı" seslendirildi. 2 koyduk ve 0 koyduk.


Sonraki noktalara geçelim.

 
Renat :
Teşekkür ederim, bir nokta "Kıvrımlı ayraçtan önce kaç boşluk bırakılacağı" seslendirildi. 2 koyduk ve 0 koyduk.


Sonraki noktalara geçelim.

  1. Etrafındaki boşluklar = += -= *= /* -- ++ + - * /, "("den sonra, ","'den sonra ve ")"den önce;
  2. Girintide 3 boşluk yerine sekmeler harika olurdu.
 
Renat :

Sonraki noktalara geçelim.

Evet, böyle acı çekmeyin. "Her şey bizden önce çalındı" (c) k-f "Y Operasyonu"

Aynı Astyle'den öğelerin listesini alın . Muhtemelen uncrustify tam listesinden ilham almayacaksınız ve muhtemelen almamalısınız, ancak her şey burada kısaca ve açıkça belirtilmiştir - doğru olanı seçebilirsiniz.

Artistic Style
  • astyle.sourceforge.net
becomes (with break‑after‑logical):
 
komposter :
  1. Etrafındaki boşluklar = += -= *= /* -- ++ + - * /, "("den sonra, ","'den sonra ve ")"den önce;
  2. Girintide 3 boşluk yerine sekmeler harika olurdu.


Her biri 2 puan: tablolama kötüdür - aynı koda farklı editörlerde bakmaya çalışın ... en hafif şekilde söylemek gerekirse, yüzer
 
mql5 :


Her biri 2 puan: tablolama kötüdür - aynı koda farklı editörlerde bakmaya çalışın ... en hafif şekilde söylemek gerekirse, yüzer
kompost :
  1. Etrafındaki boşluklar = += -= *= /* -- ++ + - * /, "("den sonra, ","'den sonra ve ")"den önce;
  2. Girintide 3 boşluk yerine sekmeler harika olurdu.


Bu yüzden saçınızı taramanıza gerek yok. Herkesin kafasında kendi hamamböceği vardır. İnsanlara ekmek ve sirkler verin. Sevdiğimizi kendimiz seçeceğiz.

 
mql5 :


Her biri 2 puan: tablolama kötüdür - aynı koda farklı editörlerde bakmaya çalışın ... en hafif şekilde söylemek gerekirse, yüzer

basit bir şekilde çözülür , tablolama (girinti) ya bir sekme karakteriyle (daha sonra yüzebilir) veya gerekli sayıda boşlukla (o zaman her şey aynı olur) gerçekleştirilir.

Artistic Style
  • astyle.sourceforge.net
becomes (with break‑after‑logical):
 

İkinci an "işlemleri boşluklarla ayırmak" sesi duyulur.


Başka öğeler var mı?

 
Renat :

İkinci an "işlemleri boşluklarla ayırmak" sesi duyulur.

Başka öğeler var mı?


 class Class
{ // скобка на уровне объявления
private : // спецификаор на уровне объявления
   // приватные типы
   definition; // объявления и определения функций и членов с отступом
  
protected :
   // защищённые типы
   definition;
public :
   // публичные типы
   definition;

public :
   definition;
  
protected :
   definition;
  
private :
   definition;

}; // скобка на уровне объявления

Numaralandırmalar:

enum ProceedObject
{ // скобка на уровне объявления
   EPO_BAT,
   EPO_LEFT_BORDER,
   EPO_RIGHT_BORDER,
   EPO_UP_BORDER,
   EPO_DOWN_BORDER,
   EPO_FLOOR,
   EPO_CEILING,
   EPO_BRICKS, // значения по отступу,
}; // скобка на уровне объявления

Eğer bir:

 if (condition1) 
{
   DoSomething();
   //...
}
else if (condition2)
{
   DoSomethingOther();
   //...
}
else
{
   DoSomethingOtherAgain();
   //...
}

Anahtarlar

 switch (condition) 
{
     case 1 :
     case 2 :
        x = ...;
     break ;
     case 3 :
{
         x = ...;
//...
}
    break ;
     default :
        x = ...;
     break ;
}
 

Belirli noktalarla ilgileniyor "şimdi böyle çalışıyor, ama böyle olmalı."


Braket hizalaması zaten tartışıldı.