Programmation OOP vs programmation procédurale - page 25

 

1.faire quelques classes d'inclusion basées sur l'article. Je ne comprends pas pourquoi utiliser des classes au lieu de créer un fichier include avec des fonctions appelables?

J'ai une question : pour améliorer la vitesse d'optimisation, est-il préférable de diviser les fichiers d'inclusion en plusieurs ou de tout mettre en un seul ?

3. j'ai l'impression que si j'appelle l'indicateur dans un fichier include, plutôt que dans un Expert Advisor, la vitesse d'optimisation est plus rapide... ?

 
forexman77:

1.faire quelques classes d'inclusion basées sur l'article. Je ne comprends pas pourquoi utiliser des classes au lieu de créer un fichier include avec des fonctions appelables?

J'ai une question : pour améliorer la vitesse d'optimisation, est-il préférable de diviser les fichiers d'inclusion en plusieurs ou de tout mettre en un seul ?

J'ai l'impression que si j'appelle l'indicateur dans un fichier include, plutôt que dans un EA, la vitesse d'optimisation est plus rapide... ?

1. Les classes seront nécessaires lorsque le polymorphisme, c'est-à-dire l'appel de différentes fonctions ayant un but similaire, sera nécessaire. L'exemple le plus simple est celui où un bloc reçoit un pointeur vers un ordre et où nous devons obtenir son ticket. En tenant compte des ordres réels et historiques, ainsi que de MT4 et MT5 - nous obtenons quatre fonctions différentes avec lesquelles travailler.

Dans le cas d'une approche procédurale, nous devons avoir un certain commutateur qui appellera la fonction nécessaire en fonction du type de commande. Dans le cas de la POO - nous appelons simplement la fonction pour obtenir le ticket. La fonction nécessaire sera appelée automatiquement. Cependant, dans le cas de la POO - nous avons besoin du travail préliminaire pour définir la hiérarchie des classes et des fonctions.

2. l'optimisation est réalisée en fonction du module prêt à être exécuté. Il importe donc peu que le code source soit divisé en fichiers ou qu'il soit entassé dans un seul gros fichier. La division en fichiers est uniquement le choix du programmeur, car elle lui convient.

3. Il n'y a absolument aucune différence. Personnellement, je n'appelle jamais d'indicateurs, préférant calculer leurs valeurs directement dans un Expert Advisor.

 
George Merts:

1. Les classes seront nécessaires lorsque le polymorphisme - c'est-à-dire l'appel de différentes fonctions ayant un but similaire - sera nécessaire. L'exemple le plus simple - un bloc reçoit un pointeur vers un ordre, nous devons obtenir son ticket. En tenant compte des ordres réels et historiques, ainsi que de MT4 et MT5 - nous obtenons quatre fonctions différentes avec lesquelles travailler.

Dans le cas d'une approche procédurale, nous devons avoir un certain commutateur qui appellera la fonction nécessaire en fonction du type de commande. Dans le cas de la POO - nous appelons simplement la fonction pour obtenir le ticket. La fonction nécessaire sera appelée automatiquement. Cependant, dans le cas de la POO - nous avons besoin du travail préliminaire pour définir la hiérarchie des classes et des fonctions.

2. l'optimisation est réalisée en fonction du module prêt à être exécuté. Il importe donc peu que le code source soit divisé en fichiers ou qu'il soit entassé dans un seul gros fichier. Le découpage en fichiers est entièrement le choix du programmeur de le faire lui-même.

3. Il n'y a absolument aucune différence. Personnellement, je n'appelle jamais d'indicateurs, préférant calculer leurs valeurs directement dans un Expert Advisor.


Je vois. Merci. Bien sûr, tout cela est très pratique car nous pouvons envelopper beaucoup de code dans des fichiers et des classes et ne laisser que quelques lignes dans le conseiller expert.

Séparément, il est plus facile de vérifier si des fragments de code comportent des erreurs, d'ajouter quelque chose de nouveau, etc. Le code devient plus facile à comprendre, surtout pour µl5.

 
Реter Konow:
On ne sait pas pourquoi tant de jardiniers locaux sont devenus des excavateurs convaincus et font une fosse dans leur propre parcelle sous un arbre).

Ils ont dû décider de construire une maison sur leur parcelle également. Qu'est-ce qu'il y a de mal à ça ?

Oui, bien sûr, même beaucoup des grands canaux que l'humanité utilise maintenant sont creusés à la pelle. Mais à l'époque, il n'y avait tout simplement pas de pelleteuses. Alors pourquoi creuser une fosse avec une pelle maintenant qu'il existe des excavatrices ?

 
Nikolai Semko:

Ils ont dû décider de construire une maison sur leur parcelle également. Qu'est-ce qu'il y a de mal à ça ?

Oui, bien sûr, même beaucoup des grands canaux que l'humanité utilise maintenant ont été creusés à la pelle. Mais à l'époque, il n'y avait tout simplement pas de pelleteuses. Alors pourquoi creuser une fosse avec une pelle maintenant qu'il existe des excavatrices ?


Le fait est que ce que vous entendez par "pelle" n'est pas du tout ce que j'entends par programmation "procédurale". Je n'en parle pas du tout, me direz-vous. Je dis que les méthodes de résolution des problèmes que certaines personnes utilisent ici sont très faibles en elles-mêmes, alors quelle différence cela fait-il - excavatrice ou pelle, si les deux ne sont pas utilisées efficacement ?


C'est une question de professionnalisme, et son absence ne peut être remplacée par un outil...


Et si vous avez du professionnalisme, vous pouvez construire des montagnes en utilisant des méthodes procédurales. Croyez-moi.

 
Реter Konow:

Le fait est que ce que vous entendez par "shovelware" n'est pas du tout ce que j'entends par programmation "procédurale". Je n'en parle pas du tout, me direz-vous. Je dis que les méthodes de résolution des problèmes que certaines personnes utilisent ici sont très faibles en elles-mêmes, alors quelle différence cela fait-il - excavatrice ou pelle, si les deux ne sont pas utilisées efficacement ?


C'est une question de professionnalisme, et son absence ne peut être remplacée par un outil...


Et si vous avez du professionnalisme, vous pouvez construire des montagnes en utilisant des méthodes procédurales. Croyez-moi.


Je ne suis pas en désaccord, mais je préfère dépenser mon énergie à devenir un opérateur d'excavateur professionnel plutôt qu'un creuseur professionnel.

Et je ne sais pas ce que vous entendez par programmation "procédurale", mais je sais que la POO est un développement évolutif de la programmation procédurale.

 
forexman77:

1.faire quelques classes d'inclusion basées sur l'article. Je ne comprends pas pourquoi utiliser des classes au lieu de créer un fichier include avec des fonctions appelables?

J'ai une question : pour améliorer la vitesse d'optimisation, est-il préférable de diviser les fichiers d'inclusion en plusieurs ou de tout mettre en un seul ?

3. j'ai l'impression que si j'appelle l'indicateur non pas dans l'Expert Advisor, mais dans un fichier include, la vitesse d'optimisation est plus rapide... ?

Le mystère est clair - c'est un article :-) il y a du code pour le plaisir du code et le volume de l'article lui-même... "ne lisez pas le journal avant de manger" :-)


 
Реter Konow:

Le fait est que ce que vous entendez par "shovelware" n'est pas du tout ce que j'entends par programmation "procédurale". Je n'en parle pas du tout, me direz-vous. Je dis que les méthodes de résolution des problèmes que certaines personnes utilisent ici sont très faibles en elles-mêmes, alors quelle différence cela fait-il - excavatrice ou pelle, si les deux ne sont pas utilisées efficacement ?


C'est une question de professionnalisme, et son absence ne peut être remplacée par un outil...


Et si vous avez du professionnalisme, vous pouvez construire des montagnes en utilisant des méthodes procédurales. Fais-moi confiance.


En général, Peter, j'ai l'impression que vous regardez votre fosse, creusée avec une pelle, et que vous regardez la fosse du voisin, creusée avec une pelleteuse. Vous comparez et constatez que votre tranchée est plus grande et a des bords plus plats. Et vous en concluez qu'il est préférable de creuser avec une pelle. Vous imaginez si vous appreniez à creuser avec une pelleteuse... et vous pouvez égaliser les bords avec une pelle.

 
Nikolai Semko:

Et, en général, Peter, j'ai l'impression que vous regardez votre fosse, creusée avec une pelle, et que vous regardez la fosse de votre voisin, creusée avec une pelleteuse. Vous comparez et constatez que votre tranchée est plus grande et a des bords plus plats. Et vous en concluez qu'il est préférable de creuser avec une pelle. Vous imaginez si vous appreniez à creuser avec une pelleteuse... ...et tu peux égaliser les bords avec une pelle.

Nikolaï, si on compare les outils, je ne creusais pas du tout avec une pelle. C'est un outil différent, un outil beaucoup plus cool. Je n'ai pas encore trouvé comment l'appeler, mais il est tout à fait possible que vous ne puissiez pas suivre une pelleteuse. L'avenir nous le dira...


En général, je respecte une pelleteuse en tant qu'outil, mais je n'avais pas le temps de l'étudier. Une autre idée a fait son chemin).

 
Реter Konow:

Nikolaï, si on compare les outils, je ne creusais pas du tout avec une pelle. C'est un outil différent, un outil beaucoup plus cool. Je n'ai pas encore trouvé comment l'appeler, mais il est fort possible que je ne puisse pas non plus suivre une pelleteuse. L'avenir nous le dira...

En général, je respecte une pelleteuse en tant qu'outil, mais je n'avais pas le temps de l'étudier. Une autre idée a fait son chemin).

Alors le thème devrait sonner différemment. Quelque chose comme : "Une nouvelle boîte à outils en programmation" ou "Un nouveau paradigme de programmation"...
Si c'est vrai que tu as créé quelque chose de plus cool que OOP, alors tu dédicaceras le tien quand tu seras célèbre ?
Raison: