Mein Ansatz. Der Kern ist der Motor. - Seite 15

 
Реter Konow:

Sie werden sehen, dass ein Array von Prototypen einmal erstellt wird. Und dann wird sie SEHR selten geändert. Nur im Falle schwerwiegender Änderungen des Programms.

Und was, wenn Sie es dynamisch machen wollen?!

 
Dmitry Fedoseev:

Wie können diese beiden Bestimmungen nebeneinander bestehen: der Mangel an Bequemlichkeit für den Programmierer und die schnelle Entwicklung des Programms? Wie kann man ein Programm schnell entwickeln, wenn es unbequem ist?

Es geht nur um Proportionen. Die Unannehmlichkeiten bei der Herstellung einer Reihe von Prototypen sind offensichtlich. Die Bequemlichkeit des direkten Zugriffs auf den Kernel von jeder Stelle im Programm, die Verwendung des Elementfokus und andere Dinge sind RIESIG.

Kurz gesagt, mein Ansatz ist weitaus bequemer als unpraktisch. Aber dafür muss man lernen, es sich zu eigen zu machen.

 
Vitalii Ananev:

Und was tun Sie, wenn Sie keinen rechteckigen, sondern beispielsweise einen runden oder dreieckigen Knopf anfertigen müssen?

Wenn Sie OOP verwenden, müssen Sie eine Basisklasse Button erstellen, die eine abstrakte Methode Draf hat, die für das Zeichnen von Schaltflächen zuständig ist. Für eine runde Schaltfläche müssen Sie ein Erbe von Button erstellen, das ausreicht, um die Methode Draf zu überschreiben, die das Zeichnen der runden Schaltfläche implementiert. Für eine rechteckige Schaltfläche reicht es auch aus, ein Erbe von Button zu erstellen und die Methode Draf zu überschreiben, um eine rechteckige Schaltfläche zu zeichnen.

Wie würde das Ganze aussehen, wenn Sie Ihre Methode anwenden?

In meinem Fall ist es VIEL einfacher.

1. Ich füge der Liste der Objekteigenschaften eine Flaggeneigenschaft hinzu.

2. Ich erhöhe die Länge der Kernel-Zeile um 1 Zelle, die für die neue Eigenschaft reserviert wird.

3. Ich erstelle ein Schlüsselwort, das ein Flag in der Kreiseigenschaft der Schaltfläche setzt.

4. Ich füge dem Zeichnungsblock einen Mechanismus zum Zeichnen von Kreisen hinzu, der nach der Überprüfung des Kreis-Flags der Schaltfläche im Kernel eingegeben wird.

 
Реter Konow:

Es kommt auf die Proportionen an. Die Unannehmlichkeiten bei der Zusammenstellung eines Prototyps liegen auf der Hand. Die Bequemlichkeit des direkten Zugriffs auf den Kernel von jeder Stelle des Programms aus, die Verwendung des Elementfokus und andere Dinge sind VIEL mehr.

Kurz gesagt, mein Ansatz ist weitaus bequemer als unpraktisch. Aber dazu muss man lernen, sie sich zu eigen zu machen.

Sie irren sich gewaltig, wenn es um die Bequemlichkeit des Zugriffs auf ein globales Array geht. Jetzt ist es einer, oder mehrere. Und wenn es in einem Programm mehrere Untersysteme gibt, die in diesem Stil geschrieben sind, entsteht ein Chaos und Verwirrung.

 
Dmitry Fedoseev:

Sie irren sich gewaltig, was die Bequemlichkeit des Zugriffs auf ein globales Array angeht. Jetzt ist es einer, oder mehrere. Und wenn es in einem Programm mehrere Untersysteme gibt, die in diesem Stil geschrieben sind, entsteht ein Chaos und Verwirrung.

Es gibt mehrere Kerne im Programm, die nur während der Bauphase der Hauptkerne verwendet werden. Nur der Hauptkern und der Parameterkern (der Eigenschaftskern der Steuerungsparameter) sind global zugänglich.

Alles ist sehr praktisch. Ich habe keine Beschwerden.

 
Реter Konow:

Es gibt mehrere Kernel im Programm, die nur während der Hauptkernel-Konstruktionsphase verwendet werden. Nur der Hauptkern und der Parameterkern sind global zugänglich.

Alles ist sehr praktisch. Ich beschwere mich nicht.

Und wie viele Kunden haben Sie und wie schnell überarbeiten Sie diese? Haben Sie jemals mit Programmen anderer Leute gearbeitet, die in diesem Stil geschrieben wurden?

 
Реter Konow:

In meinem Fall ist es VIEL einfacher.

1. Ich füge der Liste der Objekteigenschaften eine Flaggeneigenschaft hinzu.

2. Ich erhöhe die Länge der Kernel-Zeile um eine einzelne Zelle, die für die neue Eigenschaft reserviert wird.

3. Ich erstelle ein Schlüsselwort, das ein Flag in der Kreiseigenschaft der Schaltfläche setzt.

4. Ich füge dem Draw-Block einen Mechanismus zum Zeichnen von Kreisen hinzu, der nach Überprüfung des Kreis-Flags der Schaltfläche im Kernel eingegeben wird.

Wenn man damit anfängt, kommt man mit all seinen vermeintlichen "Objekten" durcheinander.

Und es wird auch nicht einfacher. In Ihrem Fall (wie Sie selbst geschrieben haben) müssen Sie 4 Schritte durchführen. In meinem Beispiel mit SRF gibt es nur eine Aktion.

aktualisieren.

Gleichzeitig müssen Sie auch eine Flagge kontrollieren, um nicht zu verwechseln, ob Ihr Knopf rund oder eckig ist.

 
Dmitry Fedoseev:

Wie viele Kunden haben Sie und wie schnell erledigen Sie deren Revisionen?

Im Moment habe ich einen Kunden. Ich erledige ihre Aufgaben sehr schnell. 3-4 Stunden und ein neues, voll funktionsfähiges Fenster ist fertig. Zusammen mit der Verbindungsschnittstelle. Ich behebe auch schnell Fehler in der Engine und schicke ihm neue Versionen. 9 Fenster in ein paar Tagen + Änderungen an der Engine, Fehlerbehebungen, neue Funktionen... Alles sehr schnell.

 
Реter Konow:

Alles ist recht komfortabel. Ich beschwere mich nicht.

Nun, Sie wissen, dass Sie allein nicht ausreichen. Der Umfang Ihrer Engine wird davon abhängen, ob andere Programmierer sie mögen (Sie allein sind nicht genug für alle Kunden). Und wenn es den Progerms nicht gefällt, dann... ach, das Schicksal deiner Schöpfung wird glorreich sein.

 
Vitalii Ananev:

Wenn man damit beginnt, verwirren einen all die angeblichen "Objekte".

Und es wird auch nicht einfacher. In Ihrem Fall (wie Sie selbst geschrieben haben), müssen Sie 4 Aktionen durchführen. In meinem Beispiel mit SRF gibt es nur eine Aktion.

aktualisieren.

Gleichzeitig musst du auch eine Flagge kontrollieren, damit du nicht verwechselst, ob dein Knopf rund oder eckig ist.

Ich mache das jetzt schon seit über einem Jahr. Und ich werde nicht verwirrt)).

Grund der Beschwerde: