Seite 3 von 3

Re: Define vs. Protected in Prozeduren

Verfasst: 08.02.2018 17:32
von ts-soft
Will ich mal meinen Senf auch abgeben, obwohl es sinnvollere Themen gibt :mrgreen:

Ich unterscheide zumindest 2 Arten von Prozeduren, die Codespezifischen und die unabhängigen. Codespezifische Proceduren laufen nur in einem Code und nutzen oftmals auch globale o. ä. Variablen. Codespezifische Proceduren und deren Sinnhaftigkeit der Syntax liegt im Auge des Betrachters, somit ist dort alles erlaubt, was auch die PB-Hilfe erlaubt.

Unabhängige, wiederverwendbare Codes, sind hier ganz anders zu betrachten. Sie sollten möglichst keine globalen Variablen verwenden und möglichst keine CompilerMeldung auslösen, nach einfügen in einem Fremdcode. Solche Proceduren habe ich auch massenhaft unter Code-Bausteine in der IDE. Diese verkürzen mir die Entwicklungszeit ernorm. Bei solchen Codes kann man IMHO nur Protected sinnvoll einsetzen. Inzwischen nutze ich aber auch immer öfter Module, die mir dann z.B. auch modul-globale Variablen erlauben.

yust my two cents

Re: Define vs. Protected in Prozeduren

Verfasst: 08.02.2018 17:47
von NeoChris
Meine persönliche Meinung : Ich bin auch für Protected.

>> Unabhängige, wiederverwendbare Codes, sind hier ganz anders zu betrachten.
Sollte man seine Codes nicht grundsätzlich so aufbauen? Sonst klingt das so nach Spaghetti Code wenn irgendwas ziellos zusammengeschustert wird hauptsache es funktioniert und so. Verdammt jetzt habe ich Hunger bekommen... :lol:

yust my two cents too :D ach scheiss drauf ich leg da ten cents drauf. :D

Re: Define vs. Protected in Prozeduren

Verfasst: 09.02.2018 08:25
von mhs
diceman hat geschrieben:Tut mir auch Leid, daß das so ausgeartet ist. :( ...
Du brauchst dich nicht entschuldigen diceman, alles Bestens :)
ts-soft hat geschrieben:... Unabhängige, wiederverwendbare Codes, sind hier ganz anders zu betrachten. Sie sollten möglichst keine globalen Variablen verwenden und möglichst keine CompilerMeldung auslösen, nach einfügen in einem Fremdcode. Solche Proceduren habe ich auch massenhaft unter Code-Bausteine in der IDE. Diese verkürzen mir die Entwicklungszeit ernorm. Bei solchen Codes kann man IMHO nur Protected sinnvoll einsetzen. Inzwischen nutze ich aber auch immer öfter Module, die mir dann z.B. auch modul-globale Variablen erlauben. ...
Module sind da wohl das beste Mittel für Wiederverwendbarkeit in anderen Projekten. Dort ist dann alles gekapselt, u.U. auch mit "privaten" Hilfsfunktionen, etc. Die lassen sich prima in einer separten .pb/.pbi Datei unterbringen und so in jedes Projekt inkludieren. Copy&Paste über Projekte hinweg ist meist eh mit Anpassungen verbunden und wenn alles schön gekapselt ist kann eigentlich nichts mehr schief gehen.

Re: Define vs. Protected in Prozeduren

Verfasst: 09.02.2018 09:51
von RSBasic
Um den Thread abzuschließen, hier die Antwort von freak:
freak hat geschrieben:Hallo Ray,

da gibt es kein richtig und falsch. Ist eine Frage der Vorliebe was man besser findet falls es eine globale und lokale Variable mit gleichem Namen gibt.
  • Protected sorgt für bessere Wiederverwendbarkeit (keine Konflikte)
  • Define verringert die Verwechslungsgefahr (keine doppelt belegten Namen erlaubt)
Für Code den man öffentlich macht ist es sinnvoll Protected zu verwenden, da man damit niemand zwingt evtl. seine Globalen Variablen umzubenennen nur um den Code zu benutzen. Für den eigenen Code kann man das aber halten wie man will.
Dann nehme ich natürlich alles zurück, was ich gesagt habe, dass Define in Prozeduren nicht erlaubt sei. Ich dachte, es wäre so, weil ich solche strengen Regeln in anderen Programmiersprachen so kenne und weil ich sowohl in der Hilfe als auch hier in Foren immer Protected sah.
Sorry für die Diskussion.

Re: Define vs. Protected in Prozeduren

Verfasst: 09.02.2018 11:32
von diceman
Und ich werde in Zukunft bei Snippets, die ich hier im Forum poste, immer Protected verwenden.
War trotzdem eine konstruktive Diskussion, würde ich sagen; hätte mich sonst nicht so damit auseinandergesetzt.