Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Bana göre çok yanılıyorsunuz!
Büyük projeleriniz olduğunda (en az birkaç bin satır kod), sınıf programlamanın (OOP) işleri çok kolaylaştırdığını ve geliştirme sürecini ve en önemlisi hata ayıklamayı kontrol etmeyi kolaylaştırdığını göreceksiniz.
Ek olarak, OOP projeleri gerçek hayata daha yakın hale getirir, çünkü sıradan hayatta nesnelerin örnekleriyle (bir ev, bir ağaç, bir kişi, bir araba, bir sipariş vb.), yani. bir dizi özellik ve yöntemle :)
Evet, OOP'ta bir şeyler yapmaya çalışırsanız, daha zarif ve anlaşılır olduğunu kendiniz göreceksiniz. Prosedürel programlamadan daha kolay!
MoneyJinn :
MetaTrader 5'te düzenli prosedürel programlama kullanın.
OOP, prosedürel programlamanın evrimidir.
Sonuçta, hiç kimse işlevler olmadan yapabileceğinizi iddia edemez. Sonuçta, belli bir noktaya kadar daha da hızlı. Aynı eylemi farklı verilerle gerçekleştiren kod bölümlerinin olması önemli değildir. Kopyala-yapıştır yapmak çok kolay.
İşlevleri yeniden kullanmak OOP'ye kaybeder. İşlevselliği genişletmek, her zaman yeni bir işlev oluşturmak ve çeşitli koşullara bağlı olarak bu işlevi çağırabilmek için kodu yeniden yazmaktır. İyi yazılmış bir OOP programında, bir uzantı, tüm kodun yeniden yazılmasını gerektirmeyen basit bir şeydir.
OOP'siz programlar yazarken, ölçekleme sorunlarından, fazladan veri bolluğundan ve yüzlerce işlevden, rastgele çakışan değişkenlerden, işlevselliğin "sıcak" değiştirilmesi ihtiyacından rahatsızlık duymuyorsanız, OOP'ye ihtiyacınız yoktur.
Evet, OOP uğruna OOP yazmak buna değmez, bundan iyi bir şey çıkmaz. İşlevleri sınıflarla değiştirmeniz gerekmez. Anti-desenlerden kaçının
OOP, "Niva" veya "Lada" gibi bir hatadır.
MetaTrader 5'te düzenli prosedürel programlama kullanın.
MetaTrader 4'te olduğu gibi burada da mevcuttur.
MetaQuotes'un buna odaklanmaması üzücü.
OOP, prosedürel programlamanın evrimidir. ...
OOP'siz programlar yazarken, ölçekleme sorunlarından, fazladan veri bolluğundan ve yüzlerce işlevden, rastgele çakışan değişkenlerden, işlevselliğin "sıcak" değiştirilmesi ihtiyacından rahatsızlık duymuyorsanız, OOP'ye ihtiyacınız yoktur.
Evet, OOP uğruna OOP yazmak buna değmez, bundan iyi bir şey çıkmaz. İşlevleri sınıflarla değiştirmeniz gerekmez. ...
%100 katılıyorum.
Ek olarak, OOP projeleri gerçek hayata daha yakın hale getirir, çünkü sıradan hayatta nesnelerin örnekleriyle (bir ev, bir ağaç, bir kişi, bir araba, bir sipariş vb.), yani. bir dizi özellik ve yöntemle :)
Gerçeğe daha yakın olan nedir: sanal bir ev, bir ağaç, bir insan veya programı işlemci tarafından fiilen yürütüldüğü sırada görmek mi?
Bu dini bir meseledir. Ve herkesin kendi seçimi var.
Gönderim, OOP'den hoşlanmamasının bedelini ödeyen, engellenen bir konu başlatıcıdan gelen bir soruya yanıt olarak geldi.
MT5 gibi bir üründe ustalaşmaya veya MT4'ten MT5'e geçmeye çalışan sıradan tüccarlar için bir cevap.
Gönderim, OOP'den hoşlanmamasının bedelini ödeyen, engellenen bir konu başlatıcıdan gelen bir soruya yanıt olarak geldi.
Konu başlatıcı için kontrol listesi:
Nesne yönelimli programlama (ifadeyi tersten okuyun) nesne yönelimli programlamadır . Veya nesne tabanlı programlama.
Bir nesne, gerçek nesnelerin (örneğin, bir "makine") veya kurgusal nesnelerin (örneğin, Pupkin's Grail) parametrelerini ve davranışını tanımlayan bir program kodu (genellikle diğer koddan izole edilir) olarak anlaşılır. Her nesne, adeta kendi hayatını yaşayabilir ve kendi suyunda güveç yapabilir. Dış dünyayla iletişim için, dışarıdan erişimi olan özel işlevler gibi sınırlı bir dizi "sinir kanalı" kullanılır.
OOP'nin ana avantajı, bence, bir nesnenin kodunun diğer kodlardan bağımsız olarak hata ayıklanabilmesidir. Sonra bir mozaik gibi daha karmaşık nesneleri bir araya getirin. Örneğin, "kadın" nesnesi diğer nesneleri içerebilir: "gövde", "alt takım", "tanklar", "kokpit" vb.
MQL'deki OOP'ye iyi bir örnek, MQL5 Sihirbazıdır . Hazır hata ayıklanmış nesnelerden bir danışman oluşturmanıza olanak tanır. Ayrıca, bu nesneler birleştirilebilir.
OOP lehine en ölümcül argüman: özünü araştıranlar üzerine otur. Programlaması daha kolay, kod daha net ve daha yapılandırılmış.
...
OOP lehine en ölümcül argüman: özünü araştıranlar üzerine otur. Programlaması daha kolay, kod daha net ve daha yapılandırılmış.
Bir şey evet, evet, OOP'de ustalaşana kadar, bana öyle bir kar fırtınası gibi geldi ki oraya tırmanmaya bile değmezdi.
Anladığım anda, her şey elle halledildi, artık değişkenler için benzersiz isimler icat etmenize gerek yok,
ilk yuvalama i'nin sayacı, ikinci yuvalama j'nin sayacı , dizi boyutunun boyutu ve bininci kodun tamamında dolaşmıyor, ancak değişkenim nerede sıfıra sıfırlanmıyor? :o) ve en önemlisi, her şey tam görünümde, programı açıyorsunuz, her şey hemen netleşiyor, işte nesnenin çağrısı, işte nesnelerin etkileşimi, nesnenin ne yaptığını anlamanız gerekiyorsa, nesne koduna gidin.
Bir şey evet, evet, OOP'de ustalaşana kadar, bana öyle bir kar fırtınası gibi geldi ki oraya tırmanmaya bile değmezdi.
Anladığım anda, her şey elle halledildi, artık değişkenler için benzersiz isimler icat etmenize gerek yok,
ilk yuvalama i'nin sayacı, ikinci yuvalama j'nin sayacı, dizi boyutunun boyutu ve bininci kodun tamamında dolaşmıyor, ancak değişkenim nerede sıfıra sıfırlanmıyor? :o) ve en önemlisi, her şey tam görünümde, programı açıyorsunuz, her şey hemen netleşiyor, işte nesnenin çağrısı, işte nesnelerin etkileşimi, nesnenin ne yaptığını anlamanız gerekiyorsa, nesne koduna gidin.
+10
Küçük projeler için OOP kullanmaya gerek olmadığı teziyle bile tartışırım.
Bana öyle geliyor ki OOP mümkün olan her yerde itilmeli - kod biraz uzuyor, ancak şeffaflığı önemli ölçüde artıyor.
+10
Küçük projeler için OOP kullanmaya gerek olmadığı teziyle bile tartışırım.
Bana öyle geliyor ki OOP mümkün olan her yerde itilmeli - kod biraz uzuyor, ancak şeffaflığı önemli ölçüde artıyor.
OOP'nin destekçisiyim çünkü kendim için aşağıdan yukarıya programlamanın rahatlığını anladım. Nesne etkileşim arayüzlerinden sınıf uygulamalarına. Sınıfların uygulanmasıyla başlayan herkes doğru OOP'de yazmaz, işlevsel sarmalayıcılar yazar. Bu tür sarmalayıcılar, değişkenler ve işlevler için uygun bir ad alanı dışında hiçbir şey yapmaz. Bu olağan kütüphane yaklaşımıdır. Ama bu minimum bile birine yakışıyor ve gururla "OOP'ta yazıyorum" diyorlar, ancak bu onların hakkı.
OOP paradigmasını eleştirmek için yeterli deneyime sahip, modern yazılımda tüm akımların deneyimli programcıları ve kurucuları vardır. Bu eski bir konudur ve prensipte, her şey uzun zamandır en küçük ayrıntısına kadar emilir, ne zaman ve nerede kaybeder:
http://blogerator.ru/page/oop_why-objects-have-failed
İşte OOP destekçilerinin yanıtı
http://bugtraq.ru/library/programming/objectshavenotfailed.html
C++ hızının karşılaştırılması (küçük test) Nesne yönelimli ve prosedürel programlama (+ farklı derleyiciler)
https://www.mql5.com/ru/forum/132434/page3