[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 91

 
paladin80 :
Nazik insanlar bana hangi tasarımın hız 1 veya 2 açısından daha iyi olduğunu söyler (veya sorumun tartışıldığı yere bir bağlantı atar):

2.

MT4'te && işlemlerinin, false on abort ile sırayla kontrol edildiğinden tam olarak emin olmadığımız için

 
sergeev :

2.

MT4'te && işlemlerinin, false on abort ile sırayla kontrol edildiğinden tam olarak emin olmadığımız için

Bilgi için teşekkürler, kodumu düzelteceğim.
 
paladin80 :
Bilgi için teşekkürler, kodumu düzelteceğim.

Okumayı kaydetmek için genellikle şöyle yazarım:

 // --- 2
if (Stochastic1<= 20 ) if (signal<value) if (flag>Big_flag) if (Ask<=price)
{
   RefreshRates ();
   OrderSend (...);
}
 
sergeev :

Okumayı kaydetmek için genellikle şöyle yazarım:


Bu ipucu için ATP, yoksa "tek bir alıntıyı atlamamak ve doğru yerlere yerleştirmek için kaç alıntı eklemem gerekecek" diye düşündüğümde biraz moralim bozuldu. Böyle bir kaydın olma olasılığı beni hayata döndürdü.
 
paladin80 :
Böyle bir kaydın olma olasılığı beni hayata döndürdü.

döngüde/koşulda yalnızca bir ifade varsa, tırnakların atlanabileceğini unutmayın.

Ana şey, aşağıdaki gibi iç içe koşullara yakalanmamaktır:

 if (cond1)
{
   if (cond2) operator1;
   else operator2;
}

записывать вот так нельзя:

if (cond1)
   if (cond2) operator1;
   else operator2;

так как оператор else непонятно к чему относится
к cond1 или cond2.
 

Tavsiye açık. || kullanımına herhangi bir kontrendikasyon var mı? (veya), örneğin burada:

 if (signal<value || flag>Big_flag)
{   RefreshRates ();
   OrderSend (...);
}

.

 
sergeev :

döngüde/koşulda yalnızca bir ifade varsa, tırnakların atlanabileceğini unutmayın.

Ana şey, aşağıdaki gibi iç içe koşullara yakalanmamaktır:

 if (cond1)
{
   if (cond2) operator1;
   else operator2;
}

записывать вот так нельзя:

if (cond1)
   if (cond2) operator1;
   else operator2;

так как оператор else непонятно к чему относится
к cond1 или cond2.

Aslında burada her şey açık görünüyor: else en yakın erken if anlamına gelir, else kapalı değil. Yoksa burada bir şey mi anlamıyorum?

Ancak her durumda, şüpheniz varsa, hem kıvırcık hem de yuvarlak olmak üzere her türlü parantez koymak daha iyidir. Yapı önemsiz değilse bunu her zaman yapmaya çalışırım.

 
paladin80 :

Tavsiye açık. || kullanımına herhangi bir kontrendikasyon var mı? (veya), örneğin burada:

hayır, iyi işaret || artık "ardışık" ise saçılmayacaksınız.

bir ara değişken aracılığıyla hariç

bool b1=A1 || A2; // burada uzun koşulları şekillendirebilirsiniz

if (b1) // ve burada b1 diğer çeşitli koşullarla birleştirilebilir
 
Mathemat :

Aslında burada her şey açık görünüyor: else en yakın erken if anlamına gelir, else kapalı değil. Yoksa burada bir şey mi anlamıyorum?

Ancak her durumda, şüpheniz varsa, hem kıvırcık hem de yuvarlak olmak üzere her türlü parantez koymak daha iyidir. Yapı önemsiz değilse bunu her zaman yapmaya çalışırım.


proger kolayca hata yapabilir, yani bu

 if (cond1)  
{  if (cond2) operator1; }
else operator2;

öyle değil

 if (cond1)
{
  if (cond2) operator1;
   else operator2;
}

anlamak?

 

Anlıyorum tabii. Ancak deneyimli bir kodlayıcı böyle bir hata yapmaz çünkü henüz orada bir şey olmasa bile gerekli yerlere kaşlı ayraçlar koyar :)

Ve parantezleri ve çizgileri (sanki kağıtmış gibi) es geçen tecrübesiz, elbette daha fazla hata yapma riski altındadır.

Kıvrımlı ayraçlar yoksa modern dillerde benimsenen ayrıştırma kuralından bahsediyordum.