Programmation OOP vs programmation procédurale - page 3

 
George Merts:

Critère de comparaison ?

Je soutiens que la POO est nécessaire pour faciliter la maintenance et les modifications du code fini. Vous, tel que je le comprends (parlons de "vous"), affirmez que ce n'est pas plus compliqué (et peut-être même plus simple) dans votre code. Comment pouvons-nous comparer ?

Votre seule phrase sur "vous vous souvenez de tout" introduit déjà une inégalité. Disons que mon processeur marchand consiste en 39 fichiers et 270 kb de code. Si les développeurs changent les protocoles d'interaction avec un serveur de commerce - je crains que sans structuration et classes OOP-système il sera très difficile pour moi de trouver tous les endroits, qui doivent être affectés par ce changement, et de modifier le code, de sorte que, d'abord, les blocs travaillant dans MT4 ne seraient pas affectés et, deuxièmement, le TS écrit ne serait pas "sentir" ce changement.

L'ensemble du système OOP limite pour moi la possibilité de faire des erreurs, précisément parce que je ne me souviens pas de tout. Et si je me souvenais de tout, comme vous le faites, il n'y aurait probablement pas besoin de construire toutes ces interfaces virtuelles...

Vous ou vous n'avez pas d'importance...

Toutes nos discussions n'aboutissent pas à la tâche spécifique à accomplir. C'est pourquoi tout reste un "bavardage" inutile. 270kb de code, ce n'est pas beaucoup du tout si c'est votre code. Vous vous en souvenez et vous le savez. Si vous ne connaissez pas bien votre code, vous aurez naturellement des difficultés à le modifier. Passer à une autre plateforme n'est pas un problème pour moi, précisément parce que je n'utilise pas la POO et que je connais très bien mon code. Bien que j'aie beaucoup plus de code. Veuillez décrire les difficultés spécifiques que vous rencontrez lorsque vous voulez réécrire votre code en MQL5.

 
Alexey Volchanskiy:

En fait, WL est en train de mourir, aucune nouvelle version depuis un an et demi. Et comme le dit Vika.

Les tests sont effectués sur un seulcœur, ce qui rend le processus long sur les ordinateurs modernes à plusieurs cœurs.

Oui, ces gars-là, à mon avis, ont été déçus par leur suspicion paranoïaque et leur lutte intransigeante contre le piratage.

Je me souviens que lorsque j'ai téléchargé la WLD pour les Russes, j'ai dû y inscrire mon nom et mon prénom. Eh bien, j'ai écrit mon nom de famille... Ces paranoïaques m'ont dit qu'ils ne voulaient pas te donner la clé parce que tu n'étais "pas beau gosse". J'ai dû leur écrire une lettre séparée en russe, pour expliquer que mon arrière-grand-père paternel était né à Riga et que, par conséquent, son nom de famille était "zakordonnye", et que moi, un Russe d'origine, j'étais né ici... Ils se sont excusés et m'ont envoyé une clé.

Mais, leur communauté, il y a trois ans, était à mon avis plus développée que celle de MT. Il est vrai qu'aujourd'hui, à mon avis, MT récupère de plus en plus sa "part du gâteau".

 
Реter Konow:

Vous ou vous n'avez pas d'importance...

Toutes nos discussions n'aboutissent pas à la tâche spécifique à accomplir. C'est pourquoi tout cela reste un "bavardage" vide. 270 kb de code, ce n'est pas beaucoup du tout si c'est votre code. Vous vous en souvenez et vous le savez. Si vous ne connaissez pas bien votre code, vous aurez naturellement des difficultés à le modifier. Passer à une autre plateforme n'est pas un problème pour moi, précisément parce que je n'utilise pas la POO et que je connais très bien mon code. Bien que j'aie beaucoup plus de code. Veuillez décrire les difficultés spécifiques que vous rencontrez lorsque vous voulez réécrire votre code en MQL5.

C'est mon code. Mais je m'en souviens, bizarrement, assez mal. Au-dessus du sujet - j'ai posté mon code, vous pouvez voir combien de commentaires il y a, et plus d'une fois j'ai rencontré que ce n'est pas suffisant, périodiquement je tombe sur des endroits que je dois démonter pendant longtemps pour comprendre les subtilités du travail. Cela dit, c'est agréable lorsque ces subtilités sont déjà décrites dans les commentaires au préalable.

Je ne comprends pas ce que j'entends par "difficultés qui se présentent". Je n'ai pas "un code pour MQL4 ou MQL5" - mon code est le même pour les deux plateformes (la seule différence réside dans les classes dépendantes de la plateforme, qui ont été écrites il y a longtemps et changent rarement). Tout ce que j'écris fonctionne immédiatement sous MT4 et MT5.

 
George Merts:

Voici mon code. Mais je ne m'en souviens pas très bien, bizarrement. Ci-dessus sur le sujet - j'ai posté mon code, vous pouvez voir combien de commentaires il y a, et plus d'une fois j'ai rencontré que ce n'est pas suffisant, périodiquement je tombe sur des endroits que je dois démonter pendant longtemps pour comprendre les subtilités du travail. Cela dit, c'est agréable lorsque ces subtilités sont déjà décrites dans les commentaires au préalable.

Je ne comprends pas ce que j'entends par "les complexités qui se présentent". Mon code est le même pour les deux plates-formes (la seule différence réside dans les classes dépendantes de la plate-forme, qui sont écrites il y a longtemps et changent rarement). Tout ce que j'écris fonctionne aussi bien sous MT4 que sous MT5.

Je suis confus. Vous avez dit plus haut que le défi est de faire fonctionner le code sur les deux terminaux.
 
George Merts:

À mon avis, ces gars-là ont été déçus par leur suspicion paranoïaque et leur lutte intransigeante contre le piratage.

Je me souviens que lors de leur promotion "pour les citoyens russes", j'ai téléchargé WLD et j'ai dû y inscrire mes coordonnées. Eh bien, j'ai écrit mon nom de famille... Ces paranoïaques m'ont dit qu'ils ne voulaient pas te donner la clé parce que tu n'étais "pas beau gosse". J'ai dû leur écrire une lettre séparée en russe, pour expliquer que mon arrière-grand-père paternel était né à Riga, et que, par conséquent, son nom de famille était "zakordonnye", et que moi, un Russe d'origine, j'étais né ici... Ils se sont excusés et m'ont envoyé une clé.

Mais, leur communauté, il y a trois ans, était à mon avis plus développée que celle de MT. Il est vrai qu'aujourd'hui, à mon avis, MT récupère de plus en plus sa "part du gâteau".

Ouais, c'est vraiment cool.
 
Реter Konow:
Je suis confus. Vous avez dit plus haut que l'objectif était de faire fonctionner le code sur les deux terminaux.
Eh bien, cela a été accompli, et maintenant - le code est un.
 
George Merts:

Voici mon code. Mais je ne m'en souviens pas très bien, bizarrement. Ci-dessus sur le sujet - j'ai posté mon code, vous pouvez voir combien de commentaires il y a, et plus d'une fois j'ai rencontré que ce n'est pas suffisant, périodiquement je tombe sur des endroits que je dois démonter pendant longtemps pour comprendre les subtilités du travail. Cela dit, c'est agréable lorsque ces subtilités sont déjà décrites dans les commentaires au préalable.

Je ne comprends pas ce que je veux dire par "difficultés qui se présentent". Je n'ai pas "un code pour MQL4 ou MQL5" - mon code est le même pour les deux plateformes (la seule différence réside dans les classes dépendantes de la plateforme, qui ont été écrites il y a longtemps et changent rarement). Tout ce que j'écris fonctionne aussi bien sous MT4 que sous MT5.


Je suis d'accord avec 100500 ! Je lis souvent moi-même mes propres programmes et je suis parfois confus, qu'est-ce que je voulais faire ici ? J'y pense, je comprends, mais le temps presse. Je commente presque chaque ligne de code pour mes clients.

Et il y a encore une personne qui demande à faire une revue de code vidéo pour chaque programme. Les commentaires ne sont en quelque sorte pas suffisants pour lui.

 
George Merts:
Eh bien, cela a été fait, et maintenant - le code est unifié.
George Merts:

Erm... Je n'ai pas bien compris.

L'objectif était de séparer le CT du terminal. Le code doit être compilé sur les deux plateformes sans aucune modification. La super tâche - transférer tous les TS écrits à WealhtLab Developer en écrivant seulement les classes de travail avec le serveur commercial.

//--------------------------------------------------


J'ai posé des questions sur la tâche actuelle afin de comparer ses solutions selon plusieurs critères et de parvenir à une conclusion sur l'efficacité de chacune. Vous éloignez la conversation de la partie pratique. Lorsque vous affirmez l'efficacité de la POO, vous devez être en mesure de le prouver dans la pratique. Moi, d'un autre côté, je suis prêt à essayer de prouver mon opinion.

Alors, quelle est la tâche actuelle ? J'espère que vous vous en souvenez)

 
Alexey Volchanskiy:

Je suis d'accord avec 100500 ! Je lis souvent moi-même mes propres programmes et je suis parfois confus, qu'est-ce que je voulais faire ici ? J'y pense, je comprends, mais le temps presse. Je commente presque chaque ligne de code pour mes clients.

Et il y a encore une personne qui demande à faire une revue de code vidéo pour chaque programme. Les commentaires lui échappent en quelque sorte.

C'est déjà une "clinique" ))))

De manière générale, comment pouvons-nous parler de l'efficacité de la POO si les gens ne se souviennent pas de leur code) ?

 
Реter Konow:

C'est déjà une "clinique"))))

En fait, de quel genre d'efficacité de la POO pouvons-nous parler si les gens ne se souviennent pas de leur code ?))


Je suppose que vous n'êtes pas un programmeur ? Ensuite, rappelez-vous où vous étiez 2017.07.05 14:55 GMT 00, à qui vous parliez et à quel sujet ;))