Profesyonel bir programcı olarak bir "terminalden" ne isterim. MQL5 için dileklerle ilgili başka bir konu. - sayfa 6

 
Korey писал (а) >>
sayısal algoritmaların yaklaşık dörtte biri goto'yu kullanır, orada nasıl doğrulanmış, onaylanmış, test edilmiş bir algoritma vardır, ancak bu olamaz
bir goto olmadan MT'ye transfer?

İşlevselliği dll'ye aktarın veya goto'yu kaldırın.

Hala hangi algoritmalardan bahsettiğini merak ediyorum.

 

Kore'ye katılıyorum. Goto ile uygulanan zarif algoritmaları gören var mı? Bütün bu histeri, gerçek bir ihtiyaç değil, sadece bir tür dindir. İyi bir kodlayıcı, koşullu atlamalı eşdeğer koddan daha okunaklı olabilen goto ile açık ve özlü kod yazabilecektir.

Not: Öyle görünüyor ki, goto'yu eleştiren Wirth'in kendisi, hala beyninde bırakmış. Ve "yapısal dillerin en yapısalı" olan C++'da goto kaybolmamış gibi görünüyor. C ile geriye dönük uyumlulukla ilgili itirazları kabul etmiyorum.

 
TheXpert писал (а) >>

Genel olarak, goto kullanımı kötü bir programlama stilidir ve vakaların %99'unda onunla birlikte gelen kod, mevcut koşullu ifadelerle benzer bir kodla değiştirilebilir.

Katılmıyorum.

Yeniden yazmak mümkündür. Ancak dilde goto olmamasının kötü bir stil olduğunu ve kodun %99'unun kullanımına göre yeniden yazılabileceğini de söyleyebiliriz.

Benim için, örneğin, och. döngülerle karmaşık iç içe if-else yapılarından çıkmak için yeterli yol yoktu. Yapının derinliklerinde bir yerde analizden çıkma ihtiyacı hesaplanırsa, o zaman tüm bu ekler için, bence uygun olmayan, çıkmak için ek bir bayrak analizi reçete etmek gerekir. Kodu karıştırıyor. Bayrağın durumunu hatırlamak çok daha kolay ve ayrıştırmanın dışına -goto.

Etikete atlamak gerekli değildir. Zaten tartışıldı. Dış (adlandırılmış) bloğun (operatör, döngü - küme parantezlerinde gövdeye sahip olan) ötesine geçmek mümkün olacaktır.

 

Peki, SK. zaten doğru üslubun fanatiğine sormak istediklerimi yazdım (örneğin, beş kat iç içe geçmiş bir if-else'nin derinliğinden çıkın).

 
TheXpert писал (а) >>

İşlevselliği dll'ye aktarın veya goto'yu kaldırın.

Hala hangi algoritmalardan bahsettiğini merak ediyorum.

yani bu sayısal yöntemlerin ana kaynağı olarak Fortran ile ilgili.
üzerindeki her şey Amerikan Mühendisler Birliği tarafından test edilmiş ve onaylanmıştır.
ve burada bir sorun yok gibi görünüyor - DLL ile çalışıyoruz ve bu kadar)))
ve olduğu gibi - onu doğrudan MQ koduna eklemek istiyorum, ancak çok uzun olan algoritmayı sürmem gerekiyor.

PS ve en önemlisi - tehlikeli

 
Mathemat писал (а) >>

Kore'ye katılıyorum. Goto ile uygulanan zarif algoritmaları gören var mı? Bütün bu histeri, gerçek bir ihtiyaç değil, sadece bir tür dindir. İyi bir kodlayıcı, koşullu atlamalı eşdeğer koddan daha okunaklı olabilen goto ile açık ve özlü kod yazabilecektir.

Not: Öyle görünüyor ki, goto'yu eleştiren Wirth'in kendisi, hala beyninde bırakmış. Ve "yapısal dillerin en yapısalı" olan C++'da goto kaybolmamış gibi görünüyor. hakkında itirazlar

C ile geriye dönük uyumluluğu kabul etmiyorum.

itiraz etmeyeceğim. Pekala.

SK. (a) yazdı >>

Katılmıyorum.

Yeniden yazmak mümkündür. Ancak dilde goto olmamasının kötü bir stil olduğunu ve kodun %99'unun kullanımına göre yeniden yazılabileceğini de söyleyebiliriz.

Benim için, örneğin, och. döngülerle karmaşık iç içe if-else yapılarından çıkmak için yeterli yol yoktu. Yapının derinliklerinde bir yerde analizden çıkma ihtiyacı hesaplanırsa, tüm bu ekler için bence uygun olmayan çıkış için ek bir bayrak analizi reçete etmek gerekir. Kodu karıştırıyor. Bayrağın durumunu hatırlamak çok daha kolay ve ayrıştırmanın dışına -goto.

Etikete atlamak gerekli değildir. Zaten tartışıldı. Dış (adlandırılmış) bloğun (operatör, döngü - küme parantezlerinde gövdeye sahip olan) ötesine geçmek mümkün olacaktır.

Mola işe yaramayacak mı?


Genel olarak ve genel olarak - herkesin kendi tarzı ve anlayışı vardır ve bu konuyu kapatacağız.

SK. Bununla ilgili herhangi bir sorununuz varsa lütfen iletişime geçin, zaman varsa kesinlikle size yardımcı olacağım.

 
TheXpert писал (а) >> Break çalışmayacak mı?

Bu sadece döngüler veya anahtar içindir (bu arada, if...else zinciri kadar zarif bir şekilde değiştirilebilecek çok gerekli bir yapı değildir). Her şey görecelidir.

 
TheXpert писал (а) >>

Mola işe yaramayacak mı?

Genel olarak ve bir bütün olarak - herkesin kendi tarzı ve anlayışı vardır ve bu konuyu kapatacağız.

SK. Bununla ilgili herhangi bir sorununuz varsa lütfen iletişime geçin, zaman varsa kesinlikle size yardımcı olacağım.

Mola işe yaramaz. Eylemi sınırlıdır.

Ve kaba olmamalısın.

 
SK. писал (а) >>

Ve kaba olmamalısın.

Ve düşünmedim.

 
Korey писал (а) >>

yani bu sayısal yöntemlerin ana kaynağı olarak Fortran ile ilgili.
üzerindeki her şey Amerikan Mühendisler Birliği tarafından test edilmiş ve onaylanmıştır.
ve burada bir sorun yok gibi görünüyor - DLL ile çalışıyoruz ve bu kadar)))
ve olduğu gibi - onu doğrudan MQ koduna eklemek istiyorum, ancak çok uzun olan algoritmayı sürmem gerekiyor.

PS ve en önemlisi - tehlikeli

Fortran, oradaydı. Ancak bu, sayısal yöntemlerin verimliliğinden kaynaklanmaz. MatLab daha azını (hatta daha fazlasını) uygular ve oraya gitmek yoktur. git geçmişi, assembler'daki programlama stiline kadar uzanır (etikete geçiş). Bu operatörün görünen basitliği yanıltıcıdır. Diyelim ki beş ek var ise başka . Ve gitti mi her şeye ihtiyacınız olan, ancak yerel ve global değişkenler, yığın, işaretçiler, diziler vb. Onlarla nasıl olunur? Eklerden doğru çıkışı uygulayın assembler'da, akla gelebilecek tüm hataları dikkate alarak (((. Burada, yüksek seviyeli bir dilde bile, nasıl doğru bir şekilde yapılacağını hemen çözemezsiniz, ancak assembler'da tamamen kayuk.

Bir geliştirici olsaydım, MathCad ( MatLab ) ile yazılmış programları MQL 5'e eklemeyi mümkün kılmaya çalışırdım. Böylece basit ve kolay olurdu (sağ el sol kulağın arkasında değil). Bu milyarlarca adam-saat tasarruf + veri işleme kapasitesinde dev bir adım. Bu fırsatı verin ve terminali iyileştirmek için ana çabaları yönlendirin