Programmation OOP vs programmation procédurale - page 41

 
George Merts:

Vous vous approchez d'une voiture à l'arrêt dans la circulation, vous regardez la façon dont elle est réglée - et vous dites au conducteur : "Y a-t-il une façon plus cool de brouiller les pistes, elle est à cent mètres".

Comme le montre mon expérience, de tels "problèmes compliqués" sont beaucoup plus faciles à comprendre que des EA "sans tracas" réalisés en copiant un modèle unique avec toutes les variables globales.


Georges, j'ai récemment rencontré une vieille amie, elle est comptable et elle essaie de maîtriser le 1C. En 2007, elle essayait de trouver son fourrage et c'est là que j'ai découvert le MQL4.

J'ai jeté un coup d'œil à ce 1C et cela m'a rendu malade ;))

 
Реter Konow:

Deux ans de travail ininterrompu.

Le noyau de l'interface graphique (d'ailleurs, il existe également un proto-core contenant des éléments prototypes. Il occupe 2 mégaoctets. Il se compose de tableaux tels que celui que j'ai cité) et contient des milliers de variables. Pensez-vous que si je n'avais pas utilisé le noyau comme centre, dispersé les variables dans des classes et des structures et établi la communication entre elles par le biais de diverses restrictions d'accès, j'aurais pu m'acquitter de ma tâche ? - Jamais tout seul. J'aurais multiplié le nombre d'entités dans mon programme. Les liens dans le code entre les fonctions et les classes deviendraient si complexes que je ne serais tout simplement pas capable de continuer à travailler seul. L'efficacité de l'ensemble du mécanisme se serait effondrée.

J'aurais atteint ma limite beaucoup plus tôt et je me serais arrêté.

Je me suis souvent posé la question suivante : "Qu'aurais-je fait si j'avais utilisé la POO?" et à chaque fois, en me basant sur la pratique quotidienne, je me suis rendu compte que je n'aurais pas pu aller aussi loin tout seul.

En outre, ma pensée est déjà structurée et je n'ai donc pas besoin de la POO à cet égard.


J'ai une bibliothèque de contrôles graphiques dans mes articles (bien sûr, elle a aussi des défauts) - cela a été fait en quinze jours, et deux semaines pour écrire l'article. Quelques années plus tard, je l'ai utilisé pour rédiger un autre article - tout m'est venu à l'esprit presque instantanément en regardant la liste déroulante des méthodes, sans regarder l'article ou le code.

 
Dmitry Fedoseev:

J'ai une bibliothèque de contrôles graphiques dans mes articles (bien sûr, elle a aussi des défauts) - elle a été réalisée en quinze jours, et deux semaines pour écrire l'article. Quelques années plus tard, je l'ai utilisé pour rédiger un autre article - tout m'est venu à l'esprit presque instantanément en regardant la liste déroulante des méthodes, sans regarder l'article ou le code.

Je ne veux pas déprécier votre travail ou mettre en avant le mien, mais vous comparez un éléphant et un mosey. L'échelle est différente. Le niveau de complexité est différent. Je n'ai pas seulement un ensemble de contrôles. Il s'agit d'un environnement graphique complet, que vous pouvez construire avec votre propre langage de balisage. Et c'est dessiné, pas basé sur des objets.
 
Реter Konow:
Je ne veux pas déprécier votre travail ou mettre en avant le mien, mais vous comparez un éléphant et une taupe. L'échelle est différente. Le niveau de complexité est différent. Je n'ai pas seulement un ensemble de contrôles. Il s'agit d'un environnement graphique complet, que vous pouvez construire avec votre propre langage de balisage. Et c'est dessiné, pas basé sur des objets.

Toutefois, il ne s'agit pas d'un travail de deux ans. La quantité de travail est comparable à l'utilisation d'objets graphiques, mais bien sûr avec la bonne approche. Mais passer deux ans dessus... Désolé, passe à autre chose.

Nous ajoutons la création d'un canevas, mais c'est dans une classe parente, nous avons une méthode pour dessiner un rectangle et quelques méthodes pour dessiner les formes géométriques les plus simples. Tout le reste est exactement le même.

Et le fait que vous vouliez tous dénigrer mon travail est clair pour moi depuis longtemps, il n'y a donc pas besoin de préambules. Cette bibliothèque est comme un rocher de discorde, poussant la foule à l'hystérie collective.

 
Dmitry Fedoseev:

Toutefois, il ne s'agit pas d'un travail de deux ans. La quantité de travail est comparable à l'utilisation d'objets graphiques, mais bien sûr avec la bonne approche. Mais passer deux ans dessus... Désolé, passe à autre chose.

Et le fait que vous vouliez tous humilier mon travail - je l'ai compris depuis longtemps, donc pas besoin de préambules. Cette bibliothèque est comme un rocher de discorde, poussant la foule à l'hystérie collective.

Humilier les gens sans raison n'est pas dans ma nature. Ne t'énerve pas. Tu ne comprends pas. Je ne peux probablement pas l'expliquer. Donc, pensez à vous comme le "serpent gorynych").
 
Реter Konow:
Humilier les gens sans raison n'est pas dans ma nature. Ne soyez pas si dur avec vous-même. Vous ne comprenez pas. Je ne serai probablement pas capable d'expliquer. Donc, pensez à vous comme le "serpent gorynych").

Pensez par vous-même, mais je n'écris pas pendant deux ans ce qui peut être fait en un mois.

 
Dmitry Fedoseev:

Pensez par vous-même, mais je n'écris pas pendant deux ans ce qui peut être fait en un mois.

Alors fais-le, où est le problème ?
 
Реter Konow:
Alors fais-le, où est le problème ?
Je n'en ai pas besoin.
 
George Merts:


SanSanych, là-bas, suggère de remplacer la POO par la documentation .

C'est vous qui avez eu cette idée, je ne la suggère pas.

De mon cabinet.

  • Le cahier des charges est un document d'environ 400 pages. Le cahier des charges est examiné et approuvé
  • Ensuite, le projet technique. Ce document a été préparé par 40 à 50 personnes. Par profession, ils étaient : économistes de différentes spécialités, mathématiciens, créateurs d'algorithmes, sysadmins dans la terminologie actuelle, ingénieurs électroniciens.
  • Puis le projet de travail. C'est ici qu'apparaît la répartition des programmes et des fonctions. Le codage et le débogage proprement dits sont effectués. Une documentation est créée : pour le développeur, les différents utilisateurs de l'unité centrale, les différents utilisateurs de l'application (management, middle management, dispatchers...).
  • En outre, il existe une opération d'essai. Le principal indicateur est le temps moyen entre les défaillances. Si tout est correctement fait, documenté, si le principe du codage primitif est pris en compte, le temps entre les pannes après la prochaine prise d'erreurs devrait diminuer de façon exponentielle. S'il est linéaire, il est fort probable qu'il ne fonctionnera JAMAIS du tout.

Où est l'OOP ici ? La POO est une exigence de l'entreprise pendant le développement. Et elle a peu d'effet sur le résultat final, mais elle peut être très utile (c'est ce qui me semble), si une personne est trouvée et développe toutes les classes pour l'ensemble du projet, elle ne mélangera rien, les classes seront naturelles par rapport à l'objectif final du projet.....

 
Veuillez ne pas vous écarter du sujet du fil de discussion.