SSS (sık sorulan sorular) doldurma hakkında Subbotnik. Yoldaşlarımıza yardım edelim! - sayfa 14

 
TheXpert :
Ve en doğru şey, IMHO, her zaman terminalden en son bilgileri istemektir.

kimse bu teze itiraz etmez. siparişlerin durumu (bir dizi) tam olarak onlarla çalışmak gerektiğinde istenir.

Dizinin ön alımına başvurmadan onsuz yapabileceğinizi iddia etmiyorum. Ve OrderSelect'ten sonra siparişlerin durumunu talep yerinde hemen analiz edin ve gereksiz olanları sihir, sembol vb. ile filtreleyin.

Ama bilet dizisinin UG olduğunu belirtiyorsunuz. Nedenini gerekçelendirin.

-------------

Taras, siparişle ilgili tüm bilgiler diziye yazıldığında "ultra" bir seçenek önerdi. Bununla ancak tüm bu bilgilerin gerekli olmadığı durumda hemfikir olabilirim. Ve basitleştirilmiş bir versiyonda, genel olarak sadece biletlere ihtiyaç vardır.

 
TheXpert :
önermem. Çoğu zaman, bir dizi bilete hiç ihtiyaç duyulmaz. Ve en doğru şey, IMHO, her zaman terminalden en son bilgileri istemektir.
Dizide 1 kene için koşullu olarak yaşayan bilgiler alırsınız. Başka hangi "taze" bilgiye ihtiyacınız var? 2-4 çoklu para birimi tüccarı (demodan bahsediyorum) hesabımda aynı anda çalışabildiğinde, bir kez daha "sunucuyu boş yere rahatsız etmeye" izin verilmeyen uygulamamdan devam ediyorum.

Genel olarak, bu sizin kişisel ve benim bakış açım. Ve kullanıcıya her zaman - argümanları daha mantıklı olan - seçme hakkı verilmelidir. ;)

Not Ve ben de SSS'de sorulan soruya kendi cevabımı verdim. :)

 

Tamam, IMHO UG, çünkü IMHO , siparişler hakkında en güncel bilgilere sahip olmak güzel. Ve IMHO , vakaların% 95'inde bir dizi sipariş olmadan yapabilirsiniz.

Eklemekten çekinmeyin, sadece fikrimi ifade ediyorum.

 

Şöyle düşünelim:

- kolaylık ve modellerin soyutlanması açısından - dizileri kullanmak daha iyidir.
- işi hızlandırmak için - diziler olmadan.

Buradaki bilgilerin alaka düzeyi önemsizdir. Her iki seçenekte de - dizili veya dizisiz - alaka düzeyi %100 tazedir

 
sergeev :

-------------

Taras, siparişle ilgili tüm bilgiler diziye yazıldığında "ultra" bir seçenek önerdi. Bununla ancak tüm bu bilgilerin gerekli olmadığı durumda hemfikir olabilirim. Ve basitleştirilmiş bir versiyonda, genel olarak sadece biletlere ihtiyaç vardır.

Alexey! Bu soruyu SSS'ye girerek ("sizin" siparişleriniz için bir dizi bilet almak), "tüm bu bilgilerin gerekli olmadığı konumu" kastettiğinizi düşünmekten çok uzaktayım - oyun oynamak gibi mi?!
Yoksa bir şeyi yanlış mı anladım?
 
TarasBY :
Alexey! Bu soruyu SSS'ye girerek ("sizin" siparişleriniz için bir dizi bilet almak), "tüm bu bilgilerin gerekli olmadığı konumu" kastettiğinizi düşünmekten çok uzaktayım - oyun oynamak gibi mi?!
Yoksa bir şeyi yanlış mı anladım?

bilete ve tüm özelliklerine ek olarak "biletiniz" kavramına bir nedenden dolayı eklendiniz.

ancak önerinizi "sadece bir bilet" gibi genişleyen bir olasılık olarak sunmaya özen gösterdim.

Ayrıca, özellikle siparişlerle ilgili geçmiş verileri analiz ederken ve karşılaştırırken de sıklıkla ihtiyaç duyulur.

 
sergeev :


Şöyle düşünelim:

- kolaylık ve modellerin soyutlanması açısından - dizileri kullanmak daha iyidir.
- işi hızlandırmak için - diziler olmadan.

Buradaki bilgilerin alaka düzeyi önemsizdir. Her iki seçenekte de - dizili veya dizisiz - alaka düzeyi %100 tazedir

İkincisine gelince ("çalışmayı hızlandırmak için - diziler olmadan"), kategorik olmak için acele etmem.
Basit mantık, "taze bilgi" için sunucuya yapılan fazladan bir çağrının fazladan zaman olduğunu öne sürer. Ve hiçbir şekilde diziden aynı bilgilerin seçilmesiyle zamanla rekabet edemez.
Kodun hızı konusunda bir uzman var - Victor (Vinin), görüşü ilginç olurdu!
 
TarasBY :
İkincisine gelince ("çalışmayı hızlandırmak için - diziler olmadan"), kategorik olmak için acele etmem.
Basit mantık, "taze bilgi" için sunucuya yapılan fazladan bir çağrının fazladan zaman olduğunu öne sürer. Ve hiçbir şekilde diziden aynı bilgilerin seçilmesiyle zamanla rekabet edemez.
Kodun hızı konusunda bir uzman var - Victor (Vinin), bu yüzden görüşü ilginç olurdu!

Bir kez daha hatırlatalım ki order özellikleriyle çalışırken sunucuya çağrı yok!

Ticarette en önemli kural alaka düzeyidir (TheXpert'in yazdığı UG'ye dönüşmemek için).
Bu nedenle, her fonksiyondaki sipariş listesine başvurursanız ve diziyi yeniden oluşturursanız, bu kesinlikle yavaşlayacaktır. Çünkü dizi dolu.

Yani, genel olarak yalnızca diziyi güncelleyerek ve yeniden OrdeSelect'i (zaten bir bilette) kaydedebilirsiniz.

1-2 çalışma emriniz varsa, dizi kritik değildir, ancak 50-100 ise, bu zaten önemlidir.

 
Daha fazlasını söyleyeceğim: Daha önce dile getirdiğim konsepte dayanarak "Sunucudaki yükü azaltın" (ve daha doğrusu, bunu "Kod hızı için optimizasyon" olarak tanımlarım), Start() I'in başında ayrıca tüm fiyatları ayrı bir dizide alın (gerekirse birden fazla araçta). Ve eğer bir ticaret işlemi yapmanız gerekiyorsa, RefreshRates() yapıyorum.

Bu yaklaşımı kimseye empoze etmiyorum, sadece içinde rasyonel bir tane görüyorum ve bu prensibi geliştirmelerimde kullanıyorum.

Not: Bu, bu konuda bir anlaşmazlık başlatmak için değil, sadece yukarıdakilerin bir argümanı.

 
sergeev :

Bu nedenle, her fonksiyondaki sipariş listesine başvurursanız ve diziyi yeniden oluşturursanız, bu kesinlikle yavaşlayacaktır. Çünkü dizi dolu.

Bunu iddia ettim mi? EA her tik üzerinde çalışıyorsa, bilet dizisi tik başına bir kez doldurulur. Ve sonra normal seçim yerine:
     for ( int li_int = li_total - 1 ; li_int >= 0 ; li_int--)
    {
         if ( OrderSelect (li_int, SELECT_BY_POS))
        {
        .......
        }
    }
örnek alıyorum
 for ( int li_TIC = 0 ; li_TIC < gi_cnt_Tickets; li_TIC++)
{

}

veya:
     for ( int li_SMB = 0 ; li_SMB < ArraySize (gsa_Symbols); li_SMB++)
    {
    }
belirli bir işlev için benim için neyin daha uygun olduğuna bağlı olarak.
Bu yaklaşımın rasyonalitesinin azınlıkta olan çok para birimli sistemlerde daha belirgin olduğu konusunda hemfikir olmalıyım.