Mehrzeilige Anweisungen
@Little John
Deine Initiative ist prima und die Lösung als IDE-PlugIn ebenfalls.
Allerdings stimme ich Mr. X zu. Das Verbindungszeichen (per Default '_') sollte besser am Anfang einer Folgezeile stehen. Für mich überwiegen die Vorteile im Hinblick auf Übersichtlichkeit und Eindeutigkeit.
Die Tatsache, dass das bei anderen Sprachen anders ist, sollte nicht maßgeblich sein.
Das Ganze könnte man aber durch eine Umfrage unter den Nutzern klären.
Deine Initiative ist prima und die Lösung als IDE-PlugIn ebenfalls.
Allerdings stimme ich Mr. X zu. Das Verbindungszeichen (per Default '_') sollte besser am Anfang einer Folgezeile stehen. Für mich überwiegen die Vorteile im Hinblick auf Übersichtlichkeit und Eindeutigkeit.
Die Tatsache, dass das bei anderen Sprachen anders ist, sollte nicht maßgeblich sein.
Das Ganze könnte man aber durch eine Umfrage unter den Nutzern klären.
Zuletzt geändert von jear am 22.10.2006 10:30, insgesamt 1-mal geändert.
Man ist nie zu alt zum lernen, auch wenn man dabei manchmal alt aussieht!
-
- Beiträge: 476
- Registriert: 23.03.2005 23:19
Das sehe ich nun wieder anders, ich könnte mich nicht daran gewöhnen ein Zeilentrennzeichen an den Anfang zu stellen, das macht keinen Sinn. Wenn wir schon auf ein Zeilenendezeichen am Ende der Zeile, wie bei vielen anderen Sprachen normal, verzichten, dann sollte wenigstens das Trennzeichen am Ende stehen.
@Mr.X: Dir scheint die "_" Variante zu gefallen, mir nicht. Solange es keinen von den PB-Entwicklern herausgegebener Standard gibt, ist alles weitere Geschmackssache. Und solange es Geschmackssache ist, ist es auch egal, wie das Zeichen letztendlich aussieht. Jeder, der jetzt einen Code mit diesem Plugin erstellt, muss sowieso anmerken, dass dieses Plugin genutzt werden muss und erklären wie es funktioniert, gerade weil es eben kein Standard ist. Und da ich es sowieso erwähnen muss, kann es auch schei$egal sein, wie das Zeichen aussieht. Weil es bei der einen oder anderen Sprache eben dieses Zeichen ist, macht es vielleicht intuitiver, mehr aber auch nicht. Und nur weil es andere Sprachen haben, muss es nicht besser sein. Wir sind auch keine Trendsetter, die mit diesem Plugin eine Grundregel für die nächste PB-Version festlegen, deshalb brauchen wir uns auch nicht in einer Konferenz auf eine neue PB-Norm einigen müssen.
Ich habe deine Bedenken gehört und kann sie nachvollziehen. Es ist wünschenswert, dass es vereinheitlicht wird, allerdings nicht von uns, sondern von Fred. Und nur weil das poplige Trennungszeichen anders aussieht, wird der Code nicht weniger leserlich. Soviel Umdenkarbeit bekommt jeder hin.
@Mr.X: Dir scheint die "_" Variante zu gefallen, mir nicht. Solange es keinen von den PB-Entwicklern herausgegebener Standard gibt, ist alles weitere Geschmackssache. Und solange es Geschmackssache ist, ist es auch egal, wie das Zeichen letztendlich aussieht. Jeder, der jetzt einen Code mit diesem Plugin erstellt, muss sowieso anmerken, dass dieses Plugin genutzt werden muss und erklären wie es funktioniert, gerade weil es eben kein Standard ist. Und da ich es sowieso erwähnen muss, kann es auch schei$egal sein, wie das Zeichen aussieht. Weil es bei der einen oder anderen Sprache eben dieses Zeichen ist, macht es vielleicht intuitiver, mehr aber auch nicht. Und nur weil es andere Sprachen haben, muss es nicht besser sein. Wir sind auch keine Trendsetter, die mit diesem Plugin eine Grundregel für die nächste PB-Version festlegen, deshalb brauchen wir uns auch nicht in einer Konferenz auf eine neue PB-Norm einigen müssen.
Ich habe deine Bedenken gehört und kann sie nachvollziehen. Es ist wünschenswert, dass es vereinheitlicht wird, allerdings nicht von uns, sondern von Fred. Und nur weil das poplige Trennungszeichen anders aussieht, wird der Code nicht weniger leserlich. Soviel Umdenkarbeit bekommt jeder hin.
Optimismus ist ein Mangel an Information.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
> Daher denke ich ist es flexibler, wenn eine benutzerdefinierte Zeilenverbindungs-Markierung zur Laufzeit als Parameter angegeben werden kann.
zu wessen laufzeit?
vielleicht kam es aufgrund der "#" nicht ganz rüber.
ich meine keine Konstante, sondern eine Precompiler-Direktive.
mein grundgedanke war folgender:
durch die prcompiler-direktive in der ersten zeile wird das IDE-Plugin aktiv.
durch das in der zweiten zeile weiß es, dass nicht das default "_" verwendet werden soll.
wer jetzt fremden code compilieren will, muss nichts aber auch garnichts einstellen oder sonstwas.
direkt in den ersten beiden zeilen steht alles drin, code ist genauso portabel wie er immer war.
(hier halt mit der einschränkung, dass wer ihn nutzen will auch das precompiler-plugin haben muss)
aber das sind nur ideen und vorschläge.
es gibt bestimmt genügend leute, die das plugin garnicht verwenden werden.
----------------------------------------------------
zu wessen laufzeit?
vielleicht kam es aufgrund der "#" nicht ganz rüber.
ich meine keine Konstante, sondern eine Precompiler-Direktive.
mein grundgedanke war folgender:
Code: Alles auswählen
PreCom_MultiLine ON
PreCom_MultiLine_Char "#"
; Code von blablub
; und
; so
; weiter
durch das in der zweiten zeile weiß es, dass nicht das default "_" verwendet werden soll.
wer jetzt fremden code compilieren will, muss nichts aber auch garnichts einstellen oder sonstwas.
direkt in den ersten beiden zeilen steht alles drin, code ist genauso portabel wie er immer war.
(hier halt mit der einschränkung, dass wer ihn nutzen will auch das precompiler-plugin haben muss)
aber das sind nur ideen und vorschläge.
es gibt bestimmt genügend leute, die das plugin garnicht verwenden werden.
----------------------------------------------------
hoffentlich siehst du jetzt, dass deine entgegnung "Totaler Schwachsinn !!" war.Mr.X hat geschrieben:@Kaeru Gaman
Dein Vorschlag mit der PreCompiler-Direktive wäre zwar in Prinzip ein Kompromiss, führt aber in die gleiche Sackgasse. Um jemandem mit seinem Programmierproblem helfen zu können, reicht es nicht aus seinen Programmsource bei mir zu übersetzen, nein ich muß erst zig Einstellungen in meiner Programmierumgebung ändern nur für einen Compilerlauf. - Totaler Schwachsinn !!
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
@Hellhound66
Welche Fragen sind den offen :
- Trennzeichen oder Verbindungszeichen?
- Welches Zeichen?
- Wo soll das Zeichen stehen?
Meine Wünsche:
- Verbindungszeichen
- der Unterstrich _
- Am Anfang der Folgezeile
Beispiel :
Welche Fragen sind den offen :
- Trennzeichen oder Verbindungszeichen?
- Welches Zeichen?
- Wo soll das Zeichen stehen?
Meine Wünsche:
- Verbindungszeichen
- der Unterstrich _
- Am Anfang der Folgezeile
Beispiel :
Code: Alles auswählen
Procedure.l Test( ; macht Dies und Jenes
_Param1.l, ; Handle
_Param2.w) ; sonstwas
Protected ww.w, ; auch nötig
_bb.b, ; auch nötig
; nun wirds gemacht
EndProcedure
Man ist nie zu alt zum lernen, auch wenn man dabei manchmal alt aussieht!
-
- Beiträge: 476
- Registriert: 23.03.2005 23:19
Meine Wünsche:
- Verbindungszeichen
- Optional
- Am Ende der Zeile
Mein Code mit deiner Variante:
= Gefällt mir überhaupt nicht, da ich ein Unterstrich-für-Variablen-Benutzer bin.
Mein Code mit der Standardvariante:
= Schon besser, aber die vielen Unterstriche lassen mich durcheinander kommen.
Mein Code mit einer optionalen Variante:
= Gefällt mir wesentlich besser.
Mein Code mit einer anderen optionalen Variante:
= Gefällt mir auch ganz gut.
/edit:
Habe die Code-Ausschnitte angepasst, da ich zu wenig Leerzeichen gemacht hatte.
- Verbindungszeichen
- Optional
- Am Ende der Zeile
Mein Code mit deiner Variante:
Code: Alles auswählen
*OBJECT\SetParams(_HEADER.tHEADER, ;# Bla
_ _Param_Setting, ;# Blubb
_ @*Device.tDEVICESET) ;# Laber
Mein Code mit der Standardvariante:
Code: Alles auswählen
*OBJECT\SetParams(_HEADER.tHEADER, _ ;# Bla
_Param_Setting, _ ;# Blubb
@*Device.tDEVICESET) ;# Laber
Mein Code mit einer optionalen Variante:
Code: Alles auswählen
*OBJECT\SetParams(_HEADER.tHEADER, %BIND% ;# Bla
_Param_Setting, %BIND% ;# Blubb
@*Device.tDEVICESET) ;# Laber
Mein Code mit einer anderen optionalen Variante:
Code: Alles auswählen
*OBJECT\SetParams(_HEADER.tHEADER, \ ;# Bla
_Param_Setting, \ ;# Blubb
@*Device.tDEVICESET) ;# Laber
/edit:
Habe die Code-Ausschnitte angepasst, da ich zu wenig Leerzeichen gemacht hatte.
Zuletzt geändert von Hellhound66 am 22.10.2006 10:59, insgesamt 3-mal geändert.
Optimismus ist ein Mangel an Information.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
@jear
so würde das schon mal garnicht gehen.
wenn, dann höchstens so:
ein underscore ohne abstand zum buchstaben ist bestandteil des Variablennamens.
es gibt genug leute, die die konvention mit führendem underscore pflegen.
so würde das schon mal garnicht gehen.
wenn, dann höchstens so:
Code: Alles auswählen
Procedure.l Test( ; macht Dies und Jenes
_ Param1.l, ; Handle
_ Param2.w) ; sonstwas
Protected ww.w, ; auch nötig
_ bb.b, ; auch nötig
; nun wirds gemacht
EndProcedure
es gibt genug leute, die die konvention mit führendem underscore pflegen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
2jear:
Der Preprozessor ist kompatibel zu bestehendem Code, und wird es auch bleiben. Damit hat sich die Frage nach Verwendung eines Zeilentrennzeichens erledigt, soweit es Code betrifft den ich schreibe.
Ob ein Zeilenverbindungszeichen am Anfang oder Ende einer Zeile stehen soll, ist wohl Geschmacksache. Ich persönlich mag solch ein Zeichen am Zeilenanfang nicht, d.h. ich werde den Code nicht dahin gehend ändern. Ich habe ihn aber bewusst als "public domain" deklariert, d.h. jede/r kann damit machen was sie/er will ...
2Mr.X:
Also bleib locker.

Werde ich so oder so ähnlich umsetzen (mit _ als Vorgabe), super Idee!
Gruß, Little John
Der Preprozessor ist kompatibel zu bestehendem Code, und wird es auch bleiben. Damit hat sich die Frage nach Verwendung eines Zeilentrennzeichens erledigt, soweit es Code betrifft den ich schreibe.
Ob ein Zeilenverbindungszeichen am Anfang oder Ende einer Zeile stehen soll, ist wohl Geschmacksache. Ich persönlich mag solch ein Zeichen am Zeilenanfang nicht, d.h. ich werde den Code nicht dahin gehend ändern. Ich habe ihn aber bewusst als "public domain" deklariert, d.h. jede/r kann damit machen was sie/er will ...
Das sehe ich genauso. Man sollte das ganze hier nicht überbewerten.Hellhound66 hat geschrieben:Wir sind auch keine Trendsetter, die mit diesem Plugin eine Grundregel für die nächste PB-Version festlegen, deshalb brauchen wir uns auch nicht in einer Konferenz auf eine neue PB-Norm einigen müssen.
2Mr.X:
Also bleib locker.

Bitte vergiss es. Ich habe offenbar auf dem berühmten Schlauch gestanden.Kaeru Gaman hat geschrieben:> Daher denke ich ist es flexibler, wenn eine benutzerdefinierte Zeilenverbindungs-Markierung zur Laufzeit als Parameter angegeben werden kann.
zu wessen laufzeit?

Ja, ich habe die ganze Zeit gedacht -- auch schon als Hellhound66 die Idee aufbrachte -- Ihr sprecht von einer Konstanten, die in das Programm 'JoinLines.pb' hineingeschrieben werden soll.Kaeru Gaman hat geschrieben:vielleicht kam es aufgrund der "#" nicht ganz rüber.
ich meine keine Konstante, sondern eine Precompiler-Direktive.
Jetzt hab ich's gerafft.Kaeru Gaman hat geschrieben:mein grundgedanke war folgender:durch die prcompiler-direktive in der ersten zeile wird das IDE-Plugin aktiv.Code: Alles auswählen
PreCom_MultiLine ON PreCom_MultiLine_Char "#" ; Code von blablub ; und ; so ; weiter
durch das in der zweiten zeile weiß es, dass nicht das default "_" verwendet werden soll.
wer jetzt fremden code compilieren will, muss nichts aber auch garnichts einstellen oder sonstwas.
direkt in den ersten beiden zeilen steht alles drin, code ist genauso portabel wie er immer war.
(hier halt mit der einschränkung, dass wer ihn nutzen will auch das precompiler-plugin haben muss)

Werde ich so oder so ähnlich umsetzen (mit _ als Vorgabe), super Idee!

Gruß, Little John
-
- Beiträge: 476
- Registriert: 23.03.2005 23:19
Ich habe es jetzt so implementiert, dass man in seinen Quelltext nur eine Preprozessor-Direktive zu schreiben braucht. Enweder
um den _ als Standard zu verwenden, oder
für einen benutzerdefinierten String.
Ich hoffe (und glaube), dass auch mit nur 1 Direktive die nötige Klarheit gegeben ist. Groß-/Kleinschreibung wird nicht berücksichtigt. Das ließe sich natürlich leicht ändern, aber da es bei Basic allgemein nicht üblich ist, habe ich es hier auch so gemacht. Es gibt jetzt zwei Demoprogramme.
Viel Spaß beim Ausprobieren.
Gruß, Little John
Code: Alles auswählen
MultiLine on
Code: Alles auswählen
MultiLine = myString
Ich hoffe (und glaube), dass auch mit nur 1 Direktive die nötige Klarheit gegeben ist. Groß-/Kleinschreibung wird nicht berücksichtigt. Das ließe sich natürlich leicht ändern, aber da es bei Basic allgemein nicht üblich ist, habe ich es hier auch so gemacht. Es gibt jetzt zwei Demoprogramme.
Viel Spaß beim Ausprobieren.

Gruß, Little John
-
- Beiträge: 476
- Registriert: 23.03.2005 23:19