"_" in Bezeichnern

Für allgemeine Fragen zur Programmierung, welche nicht! direkt mit Lazarus zu tun haben.
monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

"_" in Bezeichnern

Beitrag von monta »

Laut beispielsweise Styleguide von Borland und auch anderen sind Unterstriche ja angeblich in Variablennamen besipielsweise völlig geächtet. Doch woher kommt diese Abneigng vor Unterstrichen eigentlich?

Es dürfte doch heut völlig egal sein, ob die Variable meinetwegen int_zahl oder intzahl heißt, aber irgendeinen Grund gab(/gibt?) es ja wohl, keine Unterstiche zu benutzen. Könnte mich mal bitte jemand aufklären, warum dies so ist :?:

Benutzeravatar
theo
Beiträge: 10498
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Weiss nicht genau.
Ich weiss nur dass man oft Betriebssystem Konstanten (bzw. C-Interface-Konstanten) mit Unterstrichen schreibt.
z.B. _POSIX_THREAD_SAFE_FUNCTIONS
Vielleicht kommt's daher, wegen Verwechslung.
Ist aber bestimmt nur ein Stilfrage.

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Habe davon noch nichts gehört - viele meiner Variablen haben Unterstriche mit drinne :)

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Ich verwende auch immer Unterstriche, eigentlich für alle Komponenten, wenn ich nicht die automatischen Namen belasse.

Aber es ist halt in einigen Styleguides angegeben, man solle keine Unterstriche verwenden.
Ich könnte mir höchstens vorstellen, dies rührt daher, das (ur)alte Compiler damit nicht umgehen konnten (?) - hab da aber keine Ahnung, ob dem so ist.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Bloss gut das ich mich mal an meine signatur halte was theo LoL dumdidum ...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6213
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

@monta
Könntest du vielleicht einen link (auch Verweis genannt SCNR :evil: ) auf die Styleguides hier posten ?

Übrigends wurde der Unterstrich am Anfang einer Routine zu Kennzeichnung einer internen oder Bibliotheksroutine verwendet. Diese Informationen reichen aber unter C bis in die CP/M Zeit zurück.

Ausserdem gabs da noch das Problem, das der Fettdruck heute oft durch unterstreichen gelöst wurde. Jetzt erzeugt mal eine schönen Namen und unterstreicht ihn, das ist ausser am Anfang des Namens oft fast nicht unterscheidbar, was ist Unterstrich und was ist Unterstrichen.

Frage:
Wo_ist_hier das_Ende

Mögliche Lösungen ?
Wo_ist_hier das_Ende
Wo_ist_hier_das Ende
Wo_ist hier_das_Ende

Welches ist wohl jetzt richtig :-)

P.S:

_das geht noch ?

Edit: Die Lösung steht im Quelltext der Seite
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Die erste Lösung. Dafür brauche ich keinen Quelltext ^^

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

af0815 hat geschrieben:link (auch Verweis genannt SCNR :evil: ) auf die Styleguides hier posten ?

Hab gerade mal gesucht, aber in meinen Posts steht kein 'Ling', also denk ich mal, du meinst nicht mich. (?)

Hier beispielsweise die dt. Übersetzung:
http://www.dsdt.info/grundlagen/styleguide/
oder in Englisch (Unterstrich heißt übrigens underscore):
http://homepages.borland.com/jedi/jvcl/ ... de.htm#3.5

Es bezieht sich im übrigen, wie ich gerade beim Überfliegen gesehen hab, nicht explizit auf Variablen, sondern auf Classen und Methoden, aber bei der Variablenbennenung wird teilweise darauf Bezug genohmen.

Edit: Die Lösung steht im Quelltext der Seite

markieren genügt schon ;)

Benutzeravatar
theo
Beiträge: 10498
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Christian hat geschrieben:Bloss gut das ich mich mal an meine signatur halte was theo LoL dumdidum ...


Was ist denn daran so dumdidum?

Ich gebe ja nur eine Vermutung ab und sage, dass ich es nicht weiss.

Du hingegen wirst meistens frech und verzapfst gleichzeitig den grössten Käse aber so als wärst du Gott.
Das ist dumdidum! ;-)

Ich stelle hier mal ein RFC für Verhaltensregeln im Lazarusforum auf:

- Vermutungen abgeben ist immer erlaubt, wenn diese als solche gekennzeichnet sind.
- Im guten Glauben "Wahrheiten" von sich geben, auch wenn diese falsch sind, ist erlaubt.
- Andere Forumsteilnehmer erniedrigen ist nur erlaubt, wenn sich diese auf ähnlichem Niveau befinden.
- Öffentliches Programmieren ist verpönt, wird aber nicht bestraft. (Top Kandidat: Pluto)
- Andere Forumsteilnehmer erniedrigen und gleichzeitig einen totalen Bockmist behaupten ist VERBOTEN (Top Kandidat:Christian)
- Absichtlich nicht anschlussfähige, bekiffte und verwirrende Beiträge in Newbie Threads zu lancieren ist VERBOTEN (Top Kandidat:Schnullerbacke)

Die verbotenen Tatbestände werden mit einer Wiki-Übersetzungspflicht bestraft.
Bis die Übersetzung vollständig ist, wird ein "Arsch mit Ohren" Icon beim Nickname angezeigt.

Beurteilt wird auf konkrete Anfrage mindestens eines Forumsteilnehmers , wenn sich mindestens fünf Forumsteilnehmer dazu äussern.
Die Mehrheit der Stimmen bestimmt das Urteil.

Die Verhaltensliste und die Strafregeln sind jederzeit änderbar. Über die Aufnahme neuer Regeln gelten die gleichen Bestimmungen wie bei Beurteilung.

Was meint ihr dazu? ;-)

ralli
Beiträge: 374
Registriert: Mi 13. Sep 2006, 15:57
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Hagen a.T.W.
Kontaktdaten:

Lernfähig

Beitrag von ralli »

Dem stimme ich in vollem Umfange zu. Bereits vor Wochen habe ich genau aus diesem Grund ein Posting mit dem Titel Soziale Kompetenz beigesteuert. Offensichtlich hat dies nicht viel genutzt. Wer nicht lernfähig ist, ist auch nicht fähig zu Programmieren. Täuschung anderer Menschen hat immer was mit Selbsttäuschung zu tun. Missachtung und Erniedrigung anderer Forenteilnehmer immer auch mit geringer Selbstachtung. Wer andere Menschen hasst, hasst in Wirklichkeit sich selbst.

Ralli

Antrepolit
Beiträge: 340
Registriert: Di 12. Sep 2006, 08:57
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Beitrag von Antrepolit »

Das mit den Unterstrichen _ kommt daher, dass die ersten Basic- und Pascal-Compiler z. B. am C64 als Bezeichner für Variablen nur maximal zwei Zeichen erlaubten.

Damit wurden die möglichen Variablen direkt mal stark dezimiert. Ihr wisst ja, 128k Speicher brachten uns damals noch in kleinen Schritten zum Mond^^.
Damit die Höchstanzahl von Variablen nicht überschritten wurde, legte man eben fest, dass
nur Buchstaben und Zahlen im Bezeichner verwendet werden dürfen, da jeder Bezeichner
wieder ein Byte Arbeitsspeicher wegnahm. Ihr wisst ja, dass die durch dieses "Sparen" das
Y2K-Problem dank der zweistelligen Jahreszahlen geschaffen haben^^.

MfG Antrepolit

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Was ist denn daran so dumdidum?

Ich gebe ja nur eine Vermutung ab und sage, dass ich es nicht weiss.


Ich bezog das auch auf mich da ichs nicht weiss hab ich nix dazu gesagt

Du hingegen wirst meistens frech und verzapfst gleichzeitig den grössten Käse aber so als wärst du Gott.
Das ist dumdidum! ;-)


hab ich wasy verpasst ? was hab ich verzapft ? bin ich das nicht ? ;)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
theo
Beiträge: 10498
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Christian hat geschrieben:> als wärst du Gott.
bin ich das nicht ? ;)


Doch, klar!
Es wird jetzt gleich ein wenig pieksen, aber danach werden sie ganz ruhig werden.
In einer halben Stunde können wir sie dann vielleicht auch kurz vom Bett losbinden.
Ganz ruhig! Es ist alles gut!

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

LoL ganz ruhig :)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antrepolit
Beiträge: 340
Registriert: Di 12. Sep 2006, 08:57
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Beitrag von Antrepolit »

???

Da holt man mal einen Tag seine bunten Pillen nicht, schon versteht man die Welt nicht mehr... ;-)
Grüße, Antrepolit

care only if your os is really burning

Antworten