Mon approche. Le noyau est le moteur. - page 15

 
Реter Konow:

Vous verrez, un tableau de prototypes est créé une fois. Et puis, il est TRÈS rarement modifié. Seulement en cas de modifications importantes du programme.

Et si vous voulez le faire de manière dynamique !

 
Dmitry Fedoseev:

Comment ces deux dispositions peuvent-elles coexister ensemble : le manque de commodité pour le programmeur et le développement rapide du programme ? Comment développer rapidement un programme s'il n'est pas pratique de le faire ?

Tout est question de proportions. L'inconvénient de fabriquer toute une série de prototypes est évident. La commodité de l'accès direct au noyau à partir de n'importe quel endroit du programme, l'utilisation de la mise au point des éléments et d'autres choses sont ÉNORMES.

En bref, mon approche est bien plus pratique qu'incommodante. Mais, pour cela, vous devez apprendre à l'assumer.

 
Vitalii Ananev:

Et comment ferez-vous s'il est nécessaire de faire non pas un bouton rectangulaire, mais par exemple un bouton rond ou triangulaire ?

Si vous utilisez la POO, vous devez créer une classe de base Button, qui possède une méthode abstraite Draf, responsable du dessin des boutons. Pour un bouton rond, vous devrez créer un héritier de Button, qui suffira à surcharger la méthode Draf, qui implémentera le dessin du bouton rond. Pour un bouton rectangulaire, il suffira également de créer un héritier de Button et de surcharger la méthode Draf pour dessiner un bouton rectangulaire.

Comment tout cela se présenterait-il si vous utilisiez votre méthode ?

Dans mon cas, c'est BEAUCOUP plus simple.

1. J'ajoute une propriété drapeau à la liste des propriétés de l'objet.

2. J'augmente la longueur de la ligne Kernel de 1 cellule, qui sera réservée à la nouvelle propriété.

3. Je crée un mot-clé qui définit un drapeau dans la propriété cercle du bouton.

4. J'ajoute un mécanisme de dessin de cercle au bloc Dessin, qui sera saisi après vérification de l'indicateur de cercle du bouton dans le Noyau.

 
Реter Konow:

C'est une question de proportions. L'inconvénient de mettre en place un tableau de prototypes est évident. La commodité de l'accès direct au noyau depuis n'importe quel endroit du programme, l'utilisation de l'élément focus et d'autres choses sont BEAUCOUP plus.

En bref, mon approche est bien plus pratique qu'incommodante. Mais, pour cela, vous devez apprendre à vous l'approprier.

Vous vous trompez lourdement sur la commodité d'accéder à un tableau global. C'est un maintenant, ou plusieurs. Et s'il y a plusieurs sous-systèmes écrits dans ce style dans un programme, ce sera le désordre, le chaos et la confusion.

 
Dmitry Fedoseev:

Vous vous trompez lourdement sur la commodité d'accéder à un tableau global. C'est un maintenant, ou plusieurs. Et s'il y a plusieurs sous-systèmes écrits dans ce style dans le programme, ce sera le désordre, le chaos et la confusion.

Il existe plusieurs Cores dans le programme, qui ne sont utilisés que pendant la phase de construction des Cores principaux. Seuls le noyau principal et le noyau de paramètres (le noyau de propriété des paramètres de contrôle) sont accessibles globalement.

Tout est très pratique. Je n'ai pas à me plaindre.

 
Реter Konow:

Il existe plusieurs noyaux dans le programme, qui ne sont utilisés que pendant la phase de construction du noyau principal. Seuls le noyau principal et le noyau de paramétrage sont accessibles à tous.

Tout est très pratique. Je ne me plains pas.

Et combien de clients avez-vous et à quelle vitesse faites-vous leurs révisions ? Avez-vous déjà travaillé avec des programmes d'autres personnes écrits dans ce style ?

 
Реter Konow:

Dans mon cas, c'est BEAUCOUP plus simple.

1. J'ajoute une propriété drapeau à la liste des propriétés de l'objet.

2. J'augmente la longueur de la ligne Kernel d'une seule cellule, qui sera réservée à la nouvelle propriété.

3. Je crée un mot-clé qui définit un drapeau dans la propriété cercle du bouton.

4. J'ajoute un mécanisme de dessin de cercle au bloc Draw, qui sera saisi après avoir vérifié le drapeau du bouton cercle dans le noyau.

Lorsque vous commencerez à le faire réellement, vous serez alors confus avec tous vos soi-disant "objets".

Et ça ne devient pas plus facile. Dans votre cas (comme vous l'avez écrit vous-même), vous devez procéder en 4 étapes. Dans mon exemple utilisant SRF, il n'y a qu'une seule action.

upd.

En même temps, vous devez aussi contrôler un certain drapeau pour ne pas confondre si votre bouton est rond ou carré.

 
Dmitry Fedoseev:

Combien de clients avez-vous et à quelle vitesse procédez-vous à leurs révisions ?

Pour l'instant, j'ai un seul client. J'accomplis leurs tâches très rapidement. 3-4 heures et une nouvelle fenêtre, entièrement fonctionnelle, est prête. Avec l'interface de connexion. Je corrige aussi rapidement les bugs dans le moteur et lui envoie les nouvelles versions. 9 fenêtres en quelques jours + changements de moteur, correction de bugs, ajout de fonctionnalités... Tout est très rapide.

 
Реter Konow:

Tout est très confortable. Je ne me plains pas.

Vous comprenez que vous n'êtes pas suffisant. La massivité de votre moteur dépendra de son appréciation par d'autres programmeurs (vous seul ne suffisez pas à tous les clients). Et si les progermes n'aiment pas ça, alors... hélas et ah, le sort de votre création sera glorieux.

 
Vitalii Ananev:

Lorsque vous commencez vraiment à faire cela, vous êtes alors désorienté par tous vos prétendus "objets".

Et ça ne devient pas plus facile. Dans votre cas (comme vous l'avez écrit vous-même), vous devez faire 4 actions. Dans mon exemple utilisant RPF, il n'y a qu'une seule action.

upd.

En même temps, vous devez aussi contrôler un certain drapeau, afin de ne pas confondre ce que votre bouton est rond ou carré.

En fait, je fais ça depuis plus d'un an maintenant. Et je ne m'embrouille pas)).

Raison: