Josh hat geschrieben:Nenn mir bitte eine Quelle, die deine Sichtweise bestätigt. Aber bitte nicht deine unten angeführten Zitate, denn da sagt keine was aus, dass Define in Prozeduren falsch ist.
Josh hat geschrieben:Deine Zitate sind wohl ein Eigentor. Da steht definitiv nirgends, dass 'Define' in Strukturen falsch sind. Du interpretierst dir da was raus, was definitiv nirgends steht. Da steht:
- Für den Fall, dass ...
- Protected ("geschützt") ermöglicht ...
- gar nichts, was 'Define' betrifft
Es wird zwar nicht explizit gesagt, dass Define falsch sei, aber es wird darauf hingewiesen, dass man Protected verwenden soll. Wenn Define in Ordnung wäre, dann
würde folgendes stehen:
Beispieltext, der in der Hilfe stehen könnte hat geschrieben:Für den Fall, dass Sie in einer Prozedur 'lokale' Variablen, die den gleichen Namen wie globale Variablen haben, verwenden möchten, schauen Sie sich die Schlüsselworte Protected, Define und Static an.
Ist aber nicht der Fall und ich bezweifle, dass Fred, freak oder André das vergessen hat.
Aber man könnte gerne freak direkt fragen, wie seine Meinung ist.
Josh hat geschrieben:Sicher gibt es das Schlüsselwort 'Protected' nicht ohne Grund, aber das heißt noch lange nicht, dass 'Define' falsch ist. Nenn mir bitte eine Quelle, die deine Sichtweise bestätigt.
Aber wenn es nicht ohne Grund gibt, warum sollte man Protected deiner Meinung nach nicht verwenden? Das ist so, wie wenn in PB eine Funktion gibt, die du für dein Vorhaben benötigst, aber trotzdem was ganz anderes verwendest, weil du glaubst, dass die andere Funktion, die nicht dafür gemacht wurde, zu benutzen, nur weil es damit ebenfalls funktioniert und kein Fehler entsteht?
Zum Beispiel Konstanten. Du hast ein EditorGadget und möchtest auf ReadOnly setzen. Also gibt es die Konstante
#PB_Editor_ReadOnly, die du verwenden kannst. Deiner Meinung nach wäre es auch korrekt, wenn man stattdessen die Konstante
#PB_FileSystem_Compressed verwendet, nur weil es damit ebenfalls funktioniert, weil der Konstantenwert derselbe ist? Da meckert PB auch nicht, ist aber trotzdem falsch.
Josh hat geschrieben:Das heißt aber noch lange nicht, dass andere Programmierer so schreiben müssen wie DU.
Ich programmiere nicht so, wie ich es gerne hätte, sondern ich beachte die Regeln, die vorgegeben sind. Das ist das A und O für eine saubere Programmierung.
Josh hat geschrieben:Wenn ich Codefragmente aus anderen Projekten verwende, dann müssen die ohnehin angepasst werden
Wenn die Codefragmente gut geschrieben sind, dann musst du überhaupt nichts anpassen, sondern nur die jeweilige Prozedur aufrufen. Aber das ist ein anderes Thema.