OOP vs. prozedurale Programmierung - Seite 36

 
George Merts:

1. Nicht im geringsten. Die Rentabilität hängt nicht vom AOP ab.

2. Meiner Meinung nach um eine Größenordnung (das Zehnfache). Der Hauptvorteil von OOP liegt jedoch in der Codeunterstützung. Jetzt kann ich sehr schnell den Code erkennen, den ich vor einem Jahr oder mehr geschrieben habe. Ich erinnere mich noch gut daran, wie ich meine frühen ANSI-C-Programme im rein prozeduralen Stil verstanden habe. Es war viel schwieriger.


1. Dies ist die wichtigste Antwort auf die Notwendigkeit von OOP.

2. Es ist eine Frage der Erfahrung im Team. Ich habe alles geschrieben, was ich brauchte. Vor ein paar Jahren beschloss ich, wieder etwas zu schreiben - alles liest sich, keine Probleme.


Aus Ihren Antworten habe ich eines verstanden: OOP ist ein gewisser Standard, der die Disziplin des Programmierens einführt, der Einheitlichkeit einführt und auf dieser Basis zunächst weniger Fehler macht und, was am wichtigsten ist, der die Probleme der Modifikation im Prinzip reduziert. Das gleiche Ergebnis wurde jedoch bei sorgfältiger Beachtung der GOSTs, der Entwicklungsstufen und der Dokumentierbarkeit erzielt.

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

Ich kann nicht verstehen, warum ich so etwas bei meiner Arbeit noch nie erlebt habe. Warum sollte es ein Problem der variablen Zugangsdifferenzierung für EINEN Entwickler in einem nicht so großen Programm geben? Es gäbe 100 Entwickler, die jeweils 100 Funktionen schreiben. Theoretisch könnte sie erfunden werden. Aber in der Praxis hat sich die Programmierung seit fast 40 Jahren zu OOP entwickelt, es wurden Berge von Code geschrieben, und ich habe noch nie so etwas gehört.

Nun, am Anfang wurden Programme überhaupt in Code geschrieben.

OOP ist lediglich eine Technologie, die es Ihnen ermöglicht, komplexere Programme schneller zu schreiben und sie effizienter zu pflegen.

Das heißt aber nicht, dass OOP ein Allheilmittel ist. Ich behaupte, dass man, wenn man so viel Speicher hat wie Peter, überhaupt kein OOP braucht - man deklariert alles global und das war's dann auch schon, denn man merkt sich alles und kann Kollisionen oder Verwechslungen von Variablen leicht vermeiden. Aber ich habe ein viel schlechteres Gedächtnis. Und die Abgrenzung - ich verwende sie sehr häufig. In den letzten Jahren hat mir der Modifikator const sehr gut gefallen - vorher habe ich ihn nur selten benutzt. Jetzt benutze ich es sehr oft. Ich möchte einfach nur Zugang zu dem haben, was ich brauche, und nicht mehr. Damit dieser Zugang an Stellen, an denen er sich nicht ändern soll, schreibgeschützt ist.

 

George Merts:

Ja, es gibt tatsächlich Situationen, in denen es plötzlich fast unmöglich ist, die benötigten Daten zu erhalten. Sie verbergen sich hinter mehreren virtuellen Schnittstellen. Diese Situation zeigt jedoch deutlich, dass das System ursprünglich nicht richtig konzipiert war, da es die Übermittlung dieser Daten nicht vorsah. Diese Situation ist in der Tat sehr unangenehm. Wir müssen entweder eilig "Krücken" in Form von zusätzlichen Schnittstellen bauen oder das ganze System umstrukturieren.... es motiviert den Programmierer, sich mehr Gedanken über die Systemarchitektur zu machen.

Wenn der Programmierer ein Prophet und Hellseher ist, der vorausschauend und in allen Details der notwendigen Datenstruktur für alle möglichen Varianten der Hauptidee sieht, dann ist es wahrscheinlich sinnvoll, in Ihrem Sinne zu handeln. Oder tun Sie es in der Endphase, wenn alles bereits funktioniert und der Code ohne diese Add-ons debuggt ist, aber wiederum unter der Voraussetzung, dass nichts mehr geändert und neu angeordnet werden muss...

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

1. Dies ist die wichtigste Antwort auf die Notwendigkeit von OOP.

2. Es ist eine Frage der Erfahrung in Teams. Ich habe alles geschrieben, was ich brauchte. Vor ein paar Jahren beschloss ich, wieder etwas zu schreiben - alles liest sich, keine Probleme.

Aus Ihren Antworten habe ich eines verstanden: OOP ist ein gewisser Standard, der die Disziplin des Programmierens einführt, Einheitlichkeit einführt und auf dieser Basis weniger Fehler am Anfang und vor allem Probleme bei der Änderung grundlegend reduziert. Das gleiche Ergebnis wurde jedoch bei sorgfältiger Beachtung der GOSTs, der Entwicklungsstufen und der Dokumentierbarkeit erzielt.

1. Nein. OOP ist kein Instrument zur Gewährleistung der Rentabilität. Und man kann nicht über die Notwendigkeit von OOP sprechen, wenn man die Rentabilität betrachtet. OOP ist ein Werkzeug zur Vereinfachung der Codeentwicklung und -pflege.

2. es ist cool, wenn TCs von vor zehn Jahren noch funktionieren. Ich kann so nicht leben, sie funktionieren bei mir regelmäßig nicht mehr, ich muss sie ständig ändern. Und dabei ist OOP eine große Hilfe für mich.

Und über OOP-einige Standard, ja, alle wahr. Und es stimmt, dass man das gleiche Ergebnis erzielen kann, wenn man es zeitlich staffelt und dokumentiert. Aber ich habe den Eindruck, dass es mehr Aufwand erfordert als im Falle von OOP.

 
George Merts:

Am Anfang wurden die Programme in Code geschrieben.

OOP ist einfach eine Technologie, die es Ihnen ermöglicht, komplexere Programme schneller zu schreiben und sie dann effizienter zu pflegen.

Das heißt aber nicht, dass OOP ein Allheilmittel ist. Ich behaupte, dass man, wenn man so viel Speicher hat wie Peter, OOP überhaupt nicht braucht - man deklariert alles global und hat es hinter sich, da man sich alles merkt und Kollisionen oder Verwechslungen von Variablen leicht vermeiden kann. Aber ich habe ein viel schlechteres Gedächtnis. Und die Abgrenzung - ich verwende sie sehr häufig. In den letzten Jahren hat mir der Modifikator const sehr gut gefallen - vorher habe ich ihn nur selten benutzt. Jetzt benutze ich es sehr oft. Ich möchte einfach nur Zugang zu dem haben, was ich brauche, und nicht mehr. Damit dieser Zugang an den Stellen, an denen er nicht geändert werden soll, schreibgeschützt ist.

Am Anfang wurden Programme in Code geschrieben.

Lassen Sie uns die Dinge nicht verdrehen, ja?

OOP ist einfach eine Technologie, die es Ihnen ermöglicht, komplexere Programme schneller zu schreiben und sie dann effizienter zu pflegen.

Das ist fragwürdig, sehr fragwürdig.

Mit einer guten Entwurfsdokumentation werden schnellere Programme geschrieben und effizient gewartet. Dieses Problem spiegelt sich auch auf dem Markt wider, wo dem TOR große Aufmerksamkeit gewidmet wird. Wenn die TOR lausig ist, hilft kein OOP.

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

Programme, die über eine gute Projektdokumentation verfügen, werden schneller und effizienter erstellt und gepflegt. Dieses Problem spiegelt sich auch auf dem Markt wider, wo dem TOR große Aufmerksamkeit geschenkt wird. Wenn die TOR lausig ist, hilft kein OOP.

Der Punkt ist, dass Programmdokumentation und TOR unterschiedliche Dinge sind. Es ist sehr merkwürdig, dass Sie beides verwechseln. Moderne Programme brauchen praktisch keine Dokumentation mehr - alles ist in den Klassenschnittstellen enthalten.
 
Andrei:

Wenn der Programmierer ein Prophet und Hellseher ist, der im Voraus und in allen Details die notwendige Datenstruktur für alle möglichen Varianten der Umsetzung der Hauptidee sieht, dann ist es wahrscheinlich sinnvoll, in Ihrem Sinne zu handeln. Oder tun Sie es in der Endphase, wenn alles bereits funktioniert und der Code ohne diese Add-ons debuggt ist, aber wiederum unter der Voraussetzung, dass nichts mehr geändert und neu angeordnet werden muss...

Nun, Situationen, in denen ich die Möglichkeit, wichtige Informationen über eine Schnittstelle zu übermitteln, nicht vorausgesehen habe, sind selten. Aber eine andere Sache ist mir wichtiger - wie Igor oben richtig gesagt hat - jede Klasse ist nur für ihre eigenen Variablen verantwortlich, es ist unmöglich, mit anderen Klassen zu "spielen". Infolgedessen werden die meisten Probleme bereits bei der Kompilierung beseitigt.
 
George Merts:

OOP ist einfach eine Technologie, die es Ihnen ermöglicht, komplexere Programme schneller zu schreiben und sie dann effektiver zu pflegen.

Wie oben erläutert, ist OOP ursprünglich nicht für das schnelle Schreiben und Debuggen von Code gedacht, da es viele zusätzliche Wrapper, Zwischenaufbauten und Adapter gibt... Das ist erst in der Endphase sinnvoll, wenn alles funktioniert und getestet wurde und die Datenstruktur ihre endgültige Form erhalten hat... Das heißt, es handelt sich um ein rein kosmetisches Verfahren zur Verpackung des fertigen Codes für die spätere Lagerung...

 
George Merts:
Aber eine andere Sache ist mir wichtiger - Igor hat oben richtig gesagt - jede Klasse ist nur für ihre eigenen Variablen verantwortlich, es ist unmöglich, von ihr aus in die Variablen einer anderen Klasse "einzudringen". Infolgedessen werden die meisten Probleme in der Kompilierungsphase abgeschnitten.

Eine Klasse hat nur interne Variablen und keine Eingabe- oder Ausgabevariablen... Wo haben Sie die Verwendung eines solchen Objekts, das keinen Kontakt mit der Außenwelt hat und in seinem eigenen Saft kocht, bei der Programmierung gesehen?

 
Ihor Herasko:
.... Moderne Programme brauchen praktisch keine Dokumentation mehr - alles ist in den Klassenschnittstellen auf der Hand.

Erklären Sie dies den Metaquotes: warum haben sie riesige Handbücher für das Terminal, für die Sprache und generell geschrieben, woher kommt dieser Berg an Dokumentation für Softwareprodukte über z.B. Cp... Gibt es überhaupt noch Softwareprodukte ohne Dokumentation? Es ist seltsam, dass Sie das nicht sehen können.

Grund der Beschwerde: