OOP vs prosedürel programlama - sayfa 25

 

1. Makaleye dayalı olarak birkaç dahil edilmiş sınıf yaptı. Sadece neden sınıfları kullandığımı anlamıyorum ve sadeceçağrılan işlevlere sahip bir içerme dosyası yapmıyorum?

2. Soru, optimizasyon hızını artırmak için ortaya çıktı, dahil edilen dosyaları birkaç parçaya bölmek mi yoksa her şeyi bir arada mı yerleştirmek daha iyi?

3. Göstergeyi Expert Advisor'da değil de dahil edilen dosyada çağırırsanız, optimizasyon hızının daha hızlı olduğu hissi var...?

 
forexman77 :

1. Makaleye dayalı olarak birkaç dahil edilmiş sınıf yaptı. Sadece neden sınıfları kullandığımı anlamıyorum ve sadeceçağrılan işlevlere sahip bir içerme dosyası yapmıyorum?

2. Soru, optimizasyon hızını artırmak için ortaya çıktı, dahil edilen dosyaları birkaç parçaya bölmek mi yoksa her şeyi bir arada mı yerleştirmek daha iyi?

3. Göstergeyi Expert Advisor'da değil de dahil edilen dosyada çağırırsanız, optimizasyon hızının daha hızlı olduğu hissi var...?

1. Sınıflar, polimorfizm gerektiğinde - yani benzer amaçlarla farklı işlevleri çağırırken gerekli olacaktır. En basit örnek - blok siparişe bir işaretçi alır, biletini almanız gerekir. MT4 ve MT5'in yanı sıra gerçek ve tarihsel siparişler göz önüne alındığında, iş için dört farklı fonksiyon elde ediyoruz.

Prosedürel bir yaklaşım söz konusu olduğunda, siparişin türüne bağlı olarak istenen işlevi çağıracak belirli bir anahtarımız olması gerekir. OOP durumunda, sadece bilet alma fonksiyonunu çağırırız. İstenen işlev otomatik olarak çağrılır. Ancak, OOP durumunda, sınıfların ve işlevlerin hiyerarşisini tanımlamak için ön çalışmaya ihtiyaç vardır.

2. Optimizasyon, tamamlanan yürütülebilir modüle göre gerçekleştirilir. Bu nedenle, kaynak metnin dosyalara bölünmesi veya tek bir büyük dosyaya sıkıştırılması önemli değildir. Dosyalara bölmek tamamen programcının kendi tercihidir.

3. Kesinlikle fark yoktur. Şahsen, değerlerini doğrudan Expert Advisor içinde hesaplamayı tercih ederek asla herhangi bir gösterge aramam.

 
George Merts :

1. Sınıflar, polimorfizm gerektiğinde - yani benzer amaçlarla farklı işlevleri çağırırken gerekli olacaktır. En basit örnek - blok siparişe bir işaretçi alır, biletini almanız gerekir. MT4 ve MT5'in yanı sıra gerçek ve tarihsel siparişler göz önüne alındığında, iş için dört farklı fonksiyon elde ediyoruz.

Prosedürel bir yaklaşım söz konusu olduğunda, siparişin türüne bağlı olarak istenen işlevi çağıracak belirli bir anahtarımız olması gerekir. OOP durumunda, sadece bilet alma fonksiyonunu çağırırız. İstenen işlev otomatik olarak çağrılır. Ancak, OOP durumunda, sınıfların ve işlevlerin hiyerarşisini tanımlamak için ön çalışmaya ihtiyaç vardır.

2. Optimizasyon, tamamlanan yürütülebilir modüle göre gerçekleştirilir. Bu nedenle, kaynak metnin dosyalara bölünmesi veya tek bir büyük dosyaya sıkıştırılması önemli değildir. Dosyalara bölmek tamamen programcının kendi tercihidir.

3. Kesinlikle fark yoktur. Şahsen, değerlerini doğrudan Expert Advisor içinde hesaplamayı tercih ederek asla herhangi bir gösterge aramam.


Açık. Teşekkür ederim. Tabii ki, bunların hepsi uygundur, çünkü dosyalara, sınıflara dağlarca kod sarabilir ve EA'nın kendisinde birkaç satır bırakabilirsiniz.

Ayrı olarak, kod segmentlerinde hata olup olmadığını kontrol etmek, yeni bir şey eklemek vb. daha kolaydır. Kodun anlaşılması, özellikle µl5 için daha kolay hale gelir.

 
Реter Konow :
Bu kadar çok yerel bahçıvanın neden ikna edici ekskavatörler haline geldiği ve alanlarında bir ağacın altında bir temel çukuru hazırlaması anlaşılmaz.))

Belki de sitelerinde bir ev inşa etmeye karar verdiler. Bunun nesi kötü?

Evet, elbette, insanlığın şu anda kullandığı büyük kanalların birçoğu bile kürekle kazılmıştır. Ama sonra sadece ekskavatör yoktu. Neden şimdi, ekskavatörler varken kürekle hendek kazmak?

 
Nikolai Semko :

Belki de sitelerinde bir ev inşa etmeye karar verdiler. Bunun nesi kötü?

Evet, elbette, insanlığın şu anda kullandığı büyük kanalların birçoğu bile kürekle kazılmıştır. Ama sonra sadece ekskavatör yoktu. Neden şimdi, ekskavatörler varken kürekle hendek kazmak?


Sonuç olarak, "kürek" ile kastettiğiniz şey, "prosedürel" programlama ile kastettiğim şey değil. Bundan hiç bahsetmediğimi söyleyebilirim. Burada bazılarının kullandığı problem çözme yöntemlerinin kendi içinde çok zayıf olduğu gerçeğinden bahsediyorum ve bu nedenle fark nedir - her ikisi de verimsiz kullanılıyorsa bir ekskavatör veya kürek?


Mesele profesyonellik ve onun yokluğunu bir aletle değiştiremezsiniz ...


Ve profesyonelliğin varlığıyla, prosedürel yöntemle dağları yuvarlamak mümkündür. İnan bana.

 
Реter Konow :

Sonuç olarak, "kürek" ile kastettiğiniz şey, "prosedürel" programlama ile kastettiğim şey değil. Bundan hiç bahsetmediğimi söyleyebilirim. Burada bazılarının kullandığı problem çözme yöntemlerinin kendi içinde çok zayıf olduğu gerçeğinden bahsediyorum ve bu nedenle fark nedir - her ikisi de verimsiz kullanılıyorsa bir ekskavatör veya kürek?


Mesele profesyonellik ve onun yokluğunu bir aletle değiştiremezsiniz ...


Ve profesyonelliğin varlığıyla, prosedürel yöntemle dağları yuvarlamak mümkündür. İnan bana.


Tartışmıyorum ama enerjimi profesyonel bir kazıcı olmaktansa profesyonel bir kazıcı olmaya harcamayı tercih ederim.

Ve "yordamsal" programlama ile ne demek istediğinizi anlamıyorum, ancak OOP'nin prosedürel programlamanın evrimsel bir gelişimi olduğunu biliyorum.

 
forexman77 :

1. Makaleye dayalı olarak birkaç dahil edilmiş sınıf yaptı. Sadece neden sınıfları kullandığımı anlamıyorum ve sadeceçağrılan işlevlere sahip bir içerme dosyası yapmıyorum?

2. Soru, optimizasyon hızını artırmak için ortaya çıktı, dahil edilen dosyaları birkaç parçaya bölmek mi yoksa her şeyi bir arada mı yerleştirmek daha iyi?

3. Göstergeyi Expert Advisor'da değil de dahil edilen dosyada çağırırsanız, optimizasyon hızının daha hızlı olduğu hissi var...?

sandık sadece açılıyor - bu bir makale :-) kod ve makalenin hacmi için kod içeriyor ... "yemekten önce gazete okumayın" :-)

 
Реter Konow :

Sonuç olarak, "kürek" ile kastettiğiniz şey, "prosedürel" programlama ile kastettiğim şey değil. Bundan hiç bahsetmediğimi söyleyebilirim. Burada bazılarının kullandığı problem çözme yöntemlerinin kendi içinde çok zayıf olduğu gerçeğinden bahsediyorum ve bu nedenle fark nedir - her ikisi de verimsiz kullanılıyorsa bir ekskavatör veya kürek?


Mesele profesyonellik ve onun yokluğunu bir aletle değiştiremezsiniz ...


Ve profesyonelliğin varlığıyla, prosedürel yöntemle dağları yuvarlamak mümkündür. İnan bana.


Ve genel olarak, Peter, bir kürekle kazdığınız kendi çukurunuza baktığınızı ve bir ekskavatörle kazdığınız komşunuzun çukuruna baktığınızı hissediyorum. Karşılaştırıyorsunuz ve görüyorsunuz: çukurunuz daha büyük ve kenarları daha pürüzsüz. Ve kürekle kazmanın daha iyi olduğu sonucuna varıyorsunuz. Bir ekskavatörle nasıl kazılacağını öğrendiğinizi hayal edebiliyor musunuz ... ve hatta kenarları bir kürekle düzeltebileceğinizi hayal edebiliyor musunuz?

 
Nikolai Semko :

Ve genel olarak, Peter, bir kürekle kazdığınız kendi çukurunuza baktığınızı ve bir ekskavatörle kazdığınız komşunuzun çukuruna baktığınızı hissediyorum. Karşılaştırıyorsunuz ve görüyorsunuz: çukurunuz daha büyük ve kenarları daha pürüzsüz. Ve kürekle kazmanın daha iyi olduğu sonucuna varıyorsunuz. Bir ekskavatörle nasıl kazılacağını öğrendiğinizi hayal edebiliyor musunuz ... ve hatta kenarları bir kürekle düzeltebileceğinizi hayal edebiliyor musunuz?

Nikolai, araçları karşılaştırırsanız, o zaman bir kürekle kazmadım. İşte başka bir araç, çok daha aniden. Henüz ne diyeceğimi bulamadım, ancak bir ekskavatörün bile buna ayak uyduramaması oldukça olası. Gelecek anlatacak...


Genel olarak, ekskavatöre bir araç olarak saygı duyuyorum, ancak onu incelemek için zaman yoktu. Başka bir fikir yakalandı.)

 
Реter Konow :

Nikolai, araçları karşılaştırırsanız, o zaman bir kürekle kazmadım. İşte başka bir araç, çok daha aniden. Henüz ne diyeceğimi bulamadım, ancak bir ekskavatörün bile buna ayak uyduramaması oldukça olası. Gelecek anlatacak...

Genel olarak, ekskavatöre bir araç olarak saygı duyuyorum, ancak onu incelemek için zaman yoktu. Başka bir fikir yakalandı.)

O halde tema kulağa farklı gelmeli. Şuna benzer bir şey: "Programlamada yeni araçlar" veya "Yeni programlama paradigması"...
OOP'den daha havalı bir şey yarattığın doğruysa, ünlü olduğunda seninkini imzalayacak mısın?