Programmation OOP vs programmation procédurale - page 9

 
Реter Konow:
Je comprends pourquoi je ne le comprends pas, ce n'est pas mon code, d'ailleurs ce n'est qu'une partie de celui-ci. Mais vous ne semblez pas le comprendre non plus - ou ai-je tort ?

Je n'utilise pas de pointeurs...

Auparavant, je travaillais de la même manière que vous, uniquement avec des fonctions, mais avec le temps, il fallait les stocker d'une manière ou d'une autre, puis les rechercher, chaque fonction effectuant ses propres actions supplémentaires.

Maintenant, j'ai tout reconstruit en classes et lorsque j'appelle la classe Order, j'obtiens tout ce dont j'ai besoin et une liste de fonctions et de méthodes disponibles...

 
Реter Konow:
C'est pourquoi j'aime faire de grands blocs de code génériques.

Je ne peux même pas croire l'auteur d'une bonne interface graphique sans la POO.

Economiser des lignes de code !

 
СанСаныч Фоменко:

Non, votre exemple est très bon.

Il ne s'agit pas de programmation procédurale.

Il existe un critère de qualité des programmes bien plus important : la clarté du code.

La solution que vous avez donnée est terrible : il n'est pas du tout clair QUELLE fonction est appelée de manière significative. J'écrirais un interrupteur normal et un commentaire pour chaque appel. C'est le bon code.

Je conclus de votre exemple que la POO est une chose nuisible.


Et pourquoi passer par 100 variantes si vous savez à l'avance qu'une seule sera utilisée ?

Quelle est l'utilité d'une bobine de 100 variantes de commutateur par rapport à trois lignes de code ?

Il n'est pas juste de rendre complexe, vaste et lent ce qui peut être fait de manière rationnelle, optimale (voire parfaite).

La POO n'est nuisible que si vous l'utilisez de manière incorrecte.

Veuillez répondre à ce commentaire.

 
Реter Konow:
C'est pourquoi j'aime faire de grands blocs de code universels.

Qu'est-ce qui les rend universels ?

 
Dmitry Fedoseev:

Pourquoi avez-vous besoin d'un commutateur à 100 variantes lorsque vous savez à l'avance que seule une sera utilisée ?

Quel est l'intérêt d'un commutateur à 100 variantes par rapport à trois lignes de code ?

Faire des choses complexes, grandes et lentes qui peuvent être faites de manière rationnelle, optimale (voire parfaite) n'est pas la bonne approche.

Veuillez répondre à ce commentaire.


Il ne s'agit pas d'un spoiler, mais d'une documentation sur la fonctionnalité du programme combinée au texte du programme. C'est la chose la plus importante, pas ce qui va marcher tout seul.

 
Vladimir Pastushak:

Je n'utilise pas de pointeurs...

Auparavant, je travaillais de la même manière que vous, uniquement avec des fonctions, mais avec le temps, il fallait les stocker d'une manière ou d'une autre, puis les rechercher, chaque fonction effectuant ses propres actions supplémentaires.

Maintenant, j'ai tout reconstruit en classes et quand j'appelle la classe Order, j'obtiens tout ce dont j'ai besoin et une liste de fonctions et de méthodes disponibles...

Si c'est plus pratique pour vous, je n'ai rien contre. D'après mon expérience assez riche en programmation, je peux dire que n'importe quelle tâche peut être résolue sans POO de manière tout aussi efficace, si vous appliquez l'universalisation et la compression à vos solutions. C'est une expérience confirmée par une grande pratique. Peut-être l'une ou l'autre approche est-elle liée aux particularités individuelles de notre pensée. C'est le point principal que je voudrais transmettre.
 
СанСаныч Фоменко:

Il ne s'agit pas d'un spoiler, mais d'une documentation sur la fonctionnalité du programme combinée au texte du programme. C'est la chose la plus importante, pas ce qui va marcher tout seul.


Tant le slop que le ballast. Les mouches doivent être séparées, les escalopes séparées. La documentation est importante, mais elle ne doit pas interférer avec le fonctionnement du programme.

 
Dmitry Fedoseev:

Qu'est-ce qui les rend universels ?

Par exemple, vous avez besoin d'un bloc qui positionne les objets graphiques les uns par rapport aux autres en créant des contrôles. En même temps, le même bloc contrôle le phénomène des objets, c'est-à-dire qu'il cache certains objets et en révèle d'autres. Il calcule également les dimensions de la barre de défilement et les dimensions globales de la fenêtre. Il calcule également le déplacement du curseur dans la barre de défilement. C'est le bloc universel des relations entre objets.


Ou un bloc qui contrôle la taille de la fenêtre lorsque la poignée de la fenêtre est saisie. Ou un bloc qui contrôle les états des contrôles. Ou le bloc qui calcule l'élément sur lequel se trouve le curseur et met simultanément en évidence de nombreux paramètres globaux...

 
Реter Konow:
Par exemple, vous avez besoin d'un bloc qui positionne les objets graphiques les uns par rapport aux autres en créant des contrôles. En même temps, le même bloc contrôle le phénomène des objets, c'est-à-dire qu'il cache certains objets et en révèle d'autres. Il calcule également les dimensions de la barre de défilement et les dimensions globales de la fenêtre. Il calcule également le déplacement du curseur dans la barre de défilement. Il s'agit du bloc de relation universelle entre objets.

Mais cela est mis en œuvre par le biais de si et de commutateur, n'est-ce pas ?

 
Dmitry Fedoseev:

Mais cela est mis en œuvre par le biais de si et de commutateur, n'est-ce pas ?

Oui, ces blocs ont les deux. Mais croyez-moi, ils sont compressés au maximum et polyvalents, car ils résolvent un large éventail de problèmes.