Terminal Globals Problem - Seite 5

 
WHRoeder:
ProfessorMetal: Ich gehöre nicht zu den neophytischen Schwachköpfen
Ohne Fehlerkontrolle bin ich mir da nicht so sicher.
ProfessorMetal: Versuch nicht, Opa beizubringen, wie man Eier lutscht, Mann. Entspann dich, Sohn.
WHRoeder: Du hast keine Zeit, es beim ersten Mal richtig zu machen, aber du hast Zeit, es noch einmal zu machen oder Fehler aufzuspüren, die dadurch verursacht werden.
Du musst dich entspannen. Du regst dich über eine einfache Beobachtung auf. Und nennen Sie mich nicht "Sohn", ich bin älter als Sie (1957.)

"Ohne Fehlerprüfung bin ich mir da nicht so sicher." Das ist genau die Art von Kommentar, die ich meine. Das ist unangebracht.

Ich habe kein präsonales Problem mit Ihnen, Roeder. Ich habe das, was Sie gesagt haben, als unverdiente Kritik an mir aufgefasst. Ich bitte um Entschuldigung, falls ich Ihre Absicht missverstanden habe. Übrigens ist der Begriff "Sohn" dort, wo ich herkomme, üblich. Es ist so, als würde man "Mann" oder "Kumpel" oder was auch immer sagen.

Wenn ich davon spreche, dass die Fehlerbehandlung teuer ist, dann komme ich vom Standpunkt, dass ich das Try/Catch-Paradigma von Microsoft gewohnt bin. Das ist sehr ressourcenintensiv und zeitaufwendig, was die Ausführungszeit betrifft. Die gängige Praxis besteht darin, eine Anwendung zu entwerfen, festzustellen, wo Probleme wahrscheinlich auftreten werden, und dann die Ausnahmebehandlung hinzuzufügen. Man sollte es nicht übertreiben, vor allem nicht in einer Echtzeitanwendung. Das ist genauso schlimm, wenn nicht sogar schlimmer, als gar keine Ausnahmebehandlung durchzuführen. Wenn Sie über die Verwendung von Conditionals zur Fehlerprüfung sprechen, dann ja, ich mache das selbstverständlich.

Was die spezielle Situation betrifft, die ich erlebe, wenn der Debugger abstürzt, scheint er überhaupt nichts initialisiert zu haben. Der Debugger zeigt für einen Sekundenbruchteil ein Diagramm an und stürzt dann ab. Laut Protokoll lädt er die Indikatoren usw. und entlädt sie dann sofort wieder. In der Indie, an der ich gerade arbeite, habe ich Alerts in OnInit(), so dass ich weiß, ob nicht versucht wird, die Indie zu initialisieren. Ich sehe die gleiche Art von Verhalten, wenn ich den Debugger auf anderen Indies laufen lasse, von denen ich weiß, dass sie keine Probleme haben. Ich bin mir nicht ganz sicher, was da los ist, aber ich werde es schon herausfinden. Wie ich bereits in einem früheren Beitrag sagte, ist die Dokumentation nicht korrekt, wenn es darum geht, wo debug.tpl zu finden ist. Das Verzeichnis existiert nicht einmal in der MT4-Installation. Entweder ist die Dokumentation falsch oder die MT4-Implementierung ist fehlerhaft. Im Moment denke ich also, dass es 50/50 ist, ob ich irgendwie Mist baue oder ob etwas in der Plattformimplementierung falsch ist.

Auf jeden Fall sollten wir uns darauf einigen, dass wir uns missverstanden haben, uns die Hand geben und weitermachen. Es gibt keinen Grund für eine Schlacht zwischen uns. Alles klar?

 
angevoyageur:

Kann ich unseren Programmierer-Veteranen vorschlagen, diese Art der Diskussion hier zu beenden.

Ich danke Ihnen.


Einverstanden. Das ist völlig kontraproduktiv - und unprofessionell.
 
ProfessorMetal. Ich könnte nicht mehr mit Ihnen übereinstimmen, was Ihre Ansichten über übermäßige Fehlerbehandlung und die Bevorzugung von Vorwärtstests angeht.
 
gatoreyefx:
ProfessorMetal. Ich könnte nicht mehr mit Ihnen übereinstimmen, was Ihre Ansichten über übermäßige Fehlerbehandlung und die Bevorzugung von Vorwärtstests angeht.

Ich danke Ihnen. Ich freue mich, Ihre Bekanntschaft zu machen. Erfahrung ist ein großer Lehrmeister :-)
 
  • ProfessorMetal:

    Ich danke Ihnen. Ich freue mich, Ihre Bekanntschaft zu machen. Erfahrung ist ein guter Lehrmeister :-)

    Ich glaube nicht, dass das hier eine gute Empfehlung ist, da die meisten Mitglieder Anfänger oder Amateurprogrammierer sind und eines der häufigsten Probleme darin besteht, dass überhaupt keine Fehlerprüfung durchgeführt wird. Außerdem brauchen erfahrene Programmierer solche Empfehlungen nicht, da sie ihre eigenen Erfahrungen und Gewohnheiten haben.
 
Ich stimme mit angevoyageur überein, dass die Fehlerbehandlung den Zeitaufwand für die Fehlersuche und/oder die Bitte an andere, bei der Suche nach der Ursache des Problems/der Probleme zu helfen, verringert.
 
Nun, seit dem Upgrade von Build 509, habe ich mit Fehlerbehandlung gewesen. Nun, fast keine, da ich von der ea, die ich definitiv wissen, der Code sind stabil genug, um Fehler zu behandeln entfernt haben. Etwas wie das.
 
angevoyageur:
  • ProfessorMetal:

    Ich danke Ihnen. Freut mich, Ihre Bekanntschaft zu machen. Erfahrung ist ein guter Lehrer :-)

    Ich glaube nicht, dass es hier eine gute Empfehlung ist, da die meisten Mitglieder Anfänger oder Amateurprogrammierer sind, und eines der häufigsten Probleme entsteht, wenn überhaupt keine Fehlerprüfung stattfindet. Außerdem brauchen erfahrene Programmierer solche Empfehlungen nicht, da sie ihre eigenen Erfahrungen und Gewohnheiten haben.


Sie haben Recht, was Anfänger und Amateure betrifft. Ich wollte nicht dafür plädieren, dass jemand meinem Ansatz folgt. Ich wollte lediglich das Was und Warum klären. Ich habe gesagt: "Erfahrung ist ein guter Lehrer" :-)

Im Übrigen denke ich, dass Ihre letzte Aussage etwas ist, was ich versucht habe, Roeder zu vermitteln - zusammen mit dem Punkt, dass Ihre Interaktionen mit anderen Forumsmitgliedern hauptsächlich aus Angriffen und Herabsetzungen bestehen und keinen anderen Zweck haben, als Ihr eigenes Ego zu massieren. Diejenigen von uns, die erfahren sind, sollten den weniger Erfahrenen, die sich tatsächlich bemühen, mit Respekt und Rücksichtnahme begegnen, nicht mit Spott. Damit betrachte ich die Angelegenheit als abgeschlossen. Ich habe William eine versöhnliche Antwort gegeben. Wenn er sie akzeptieren will, ist das in Ordnung. Wenn nicht, ist das auch in Ordnung.

 
SDC:
Ich stimme mit angevoyageur überein, dass die Fehlerbehandlung den Zeitaufwand für die Fehlersuche und/oder die Bitte an andere, bei der Suche nach der Ursache des Problems/der Probleme zu helfen, verringert.


Das bestreite ich in keiner Weise. Worauf ich eigentlich hinaus wollte, war, dass erfahrene Entwickler ein "Gespür", wenn man es so nennen will, dafür bekommen, wo Probleme wahrscheinlich auftreten werden. Wenn ich z. B. eine Methode habe, die Parameter erfordert, überprüfe ich immer, ob sie auch wirklich so sind, wie sie sein sollten, bevor ich versuche, den Code auszuführen. Das ist eine automatische Angewohnheit, die ich mir durch jahrelange Arbeit an industriellen Anwendungen angewöhnt habe, bei denen eine Methode von anderen Entwicklern, die an einem anderen Teil der Anwendung arbeiten, oder direkt von Endbenutzern, wenn es sich um ein UI-Element handelt, aufgerufen wird. Man lernt schnell, sich nicht darauf zu verlassen, dass jemand einem das schickt, was er soll.

Das meiste, worüber ich gesprochen habe, war das try/catch-Paradigma. Das ist ein Nicht-Problem mit MQL, weil, soweit ich weiß, MQL nicht die Ausnahmebehandlung hat, die Microsoft einsetzt. Das macht vieles von dem, was ich gesagt habe, überflüssig.

Für das Protokoll, das Problem scheint nicht mit einer meiner Indies gewesen zu sein. Ich dachte nicht, dass es das war, aber es ist immer möglich - niemand ist perfekt, ich am allerwenigsten. Ich verwende einen kostenlosen Handelsmanagement-EA eines Drittanbieters, weil ich keine Zeit hatte, meinen eigenen zu entwickeln. Für das Testen von Ideen über Demokonten hielt ich das für gut genug. Ich schätze, man bekommt, wofür man bezahlt - es ist ein kostenloses Produkt. Ich bin es losgeworden und der Debugger ist seitdem nicht mehr abgestürzt. Allerdings gibt es immer noch einige Probleme.

Was ich vorhin über die Diskrepanz zwischen Dokumentation und Betrieb gesagt habe, gilt immer noch. In der MT4-Installation gibt es kein Verzeichnis profiles/templates. Außerdem sagt die Dokumentation nichts darüber aus, wie man Debug-Vorlagen einrichtet und verwendet. Ich habe ein paar Stunden damit verbracht, herauszufinden, wie sich MT4 derzeit verhält. Was ich herausgefunden habe, sollte irgendwo geteilt werden, aber ich bin mir nicht sicher, wo genau die Forumsetikette dies vorschreiben würde. In diesem isolierten Thread ist das wahrscheinlich nicht möglich, es sei denn, einer der Mods, die dies überwachen, ist dieser Meinung. Soll ich einen neuen Thread erstellen, meine Beobachtungen an einen Mod weitergeben, damit er einen Sticky erstellen kann, oder soll ich einfach alles zusammenstellen und es selbst an den Service Desk schicken? Was auch immer die Mods denken, ist die Richtung, die ich einschlagen werde.

 

Ich glaube nicht, dass es jemals einen Ordner "profiles/templates" geben sollte. Mein Vorlagenordner befindet sich im Terminal-Datenordner.