Coding Konvention Punkt oder Unterstrich

Benrath

Community-Forum
Mitglied seit
19.05.2003
Beiträge
19.485
Reaktionen
664
Man liest ja immer das eine oder andere, aber was macht mehr Sinn beim Benennen von Funktionen und variablen

my_function oder my.function
my_dataset oder my.dataset

mal jenseits von Groß und Kleinschreibung und dass man z.B. Funktionen mit nem Großbuchstaben anfängt und variablen klein lässt.

Es gibt drölf Blogeinträge fürs eine oder das andere, aber was macht ihr?

Ich persönlich mag die Trennung mit dem Punkt lieber. Hab dafür aber keinen wirklichen Grund.
 

Gustavo

Doppelspitze 2019
Mitglied seit
22.03.2004
Beiträge
5.510
Reaktionen
1.725
Weil ich das meiste immer noch in R mache und mich sklavisch an den Google Style Guide halte: Immer Punkt.
 

Benrath

Community-Forum
Mitglied seit
19.05.2003
Beiträge
19.485
Reaktionen
664
https://google.github.io/styleguide/Rguide.xml

Don't use underscores ( _ ) or hyphens ( - ) in identifiers. Identifiers should be named according to the following conventions. The preferred form for variable names is all lower case letters and words separated with dots (variable.name), but variableName is also accepted; function names have initial capital letters and no dots (FunctionName); constants are named like functions but with an initial k.

https://www.r-bloggers.com/🖊-r-coding-style-guide/

•NEVER separate words within the name by . (reserved for an S3 dispatch) or use CamelCase (reserved for S4 classes definitions). Instead, use an underscore (_).

Ich finds halt geil, dass die diametral entgegen stehen. Das zweite gibt immerhin zwei Gründe an.
 

parats'

Tippspielmeister 2012, Tippspielmeister 2019
Mitglied seit
21.05.2003
Beiträge
19.302
Reaktionen
1.331
Ort
Hamburg
Für Funktionen nutze ich nichts dergleichen, also ein myFunction(). Liegt überwiegend daran, dass ich 70% SQL (T-SQL bzw D-SQL für die Microsoft APS) mache und so 30% .Net (VB oder C#).
Datenbankobjekte nutzen den . und für variablen wird ein _ verwendet.

Wichtig ist, dass es innerhalb der Ressourcen identisch und von allen Mitarbeitern so beibehalten wird. Ansonsten habe ich bisher noch nirgends identische Standards vorgefunden.
 
Zuletzt bearbeitet:

Gelöschtes Mitglied 160054

Guest
https://google.github.io/styleguide/Rguide.xml

Don't use underscores ( _ ) or hyphens ( - ) in identifiers. Identifiers should be named according to the following conventions. The preferred form for variable names is all lower case letters and words separated with dots (variable.name), but variableName is also accepted; function names have initial capital letters and no dots (FunctionName); constants are named like functions but with an initial k.

https://www.r-bloggers.com/🖊-r-coding-style-guide/

•NEVER separate words within the name by . (reserved for an S3 dispatch) or use CamelCase (reserved for S4 classes definitions). Instead, use an underscore (_).

Ich finds halt geil, dass die diametral entgegen stehen. Das zweite gibt immerhin zwei Gründe an.

das sind einfach hardcore nerds die sich um so nen kot streiten. Geht hundertpro beides und keins ist per se schlechter als das andere, ich nutze ne camelCase.
 
Mitglied seit
21.08.2010
Beiträge
7.572
Reaktionen
828
Punkt aus genau einem Grund: Mit Strg+Links/Rechts kann man Punkte ansteuern aber keine Unterstriche. Nachdem ich schon seit Jahren daran verzweifle Studenten auch nur die Grundlagen ordentlichen Codens beizubringen, bin ich da ohnehin abgehärtet. Eigentlich wäre ich gern Codeschönheitsnazi aber die Realität hat mich zum indifferenten "wenn's läuft und nicht zu hässlich ist, ist es auch okay"-Pragmatiker gemacht.
 
Mitglied seit
10.08.2000
Beiträge
12.908
Reaktionen
1
Ich programmiere zwar nicht mehr selbst aktiv aber ich fand Unterstriche immer besser. Im Wesentlichen weil es besser aussieht, kein wirklich wichtiger Grund. Ich behaupte einfach mal dass es nur wichtig ist, dass man sich einfach für irgendeine Konvention entscheidet und die firmenintern tatsächlich durchzieht, welche auch immer das nun sein mag. Das beschränkt sich dann auch nicht auf die Trennzeichen, allgemeine verpflichtende style guidelines dürften die Pflege fremden Codes deutlich vereinfachen und Einheitlichkeit/Konsistenz innerhalb der Firma ist bei den meisten Sachen wichtiger als die genaue Ausprägung der style guidlines selbst.
 
Mitglied seit
21.10.2008
Beiträge
20.837
Reaktionen
3.747
Ort
München
Gehe mit Booty konform. Ist lange her, dass ich aktiv programmiert habe, an der FH wurde uns damals auch eher die Punkt-Konvention nahegelegt. Fand ich logischer und optisch ansprechender.
 

Benrath

Community-Forum
Mitglied seit
19.05.2003
Beiträge
19.485
Reaktionen
664
Persönlich find ich die Punkt Notation auch optisch ansprechender, weil die Trennung irgendwie sichtbarer erscheint als mit dem Underscore.

Mich haben einfach die Erfahrungen interessiert und warum Ihr euch dafür entscheidet.

Ich muss mich einfach auch mehr dazu zwingen bei einer Variante zu bleiben. Punkt it is.
 

Gelöschtes Mitglied 160054

Guest
Wieso kollidiert der Punkt eigentlich nicht mit dem Punktoperator bei Memberzugriff wie ihn z.B. C++ und Matlab nutzen? Schon deshalb find ich den behindert.
 
Mitglied seit
25.09.2014
Beiträge
4.840
Reaktionen
1.164
Das tut er. Deshalb benutzt man ihn in objektorientierten Sprachen auch nicht - entweder kompiliert es gar nicht (z.B. Java, C++, Python) oder es führt nicht zum gewünschten Resultat (z.B. Matlab).


Punkt aus genau einem Grund: Mit Strg+Links/Rechts kann man Punkte ansteuern aber keine Unterstriche. Nachdem ich schon seit Jahren daran verzweifle Studenten auch nur die Grundlagen ordentlichen Codens beizubringen, bin ich da ohnehin abgehärtet. Eigentlich wäre ich gern Codeschönheitsnazi aber die Realität hat mich zum indifferenten "wenn's läuft und nicht zu hässlich ist, ist es auch okay"-Pragmatiker gemacht.
Wie oft willst du denn in einen Variablennamen springen? Mich würde eher stören, dass ich mehrteilige Variablennamen nur mit mehrfachem Tastendruck überspringen kann. Und wenn du ohne nicht leben kannst, gibts da draußen bestimmt einen Editor, wo du die Funktion customizen kannst.

So oder so ist es ein schwacher Grund, weil er dem grundlegenden Readability-over-Writability-Paradigma widerspricht. Sowas zu tun ist schon fragwürdig, es zu lehren sollte verboten sein.



@Topic
Persönliche Vorliebe: Unterstrich > Camel > Punkt. Da ich heute eigentlich nur noch in Python und R schreibe, nutze ich ausschließlich Unterstriche.

Grundsätzlich sollte man natürlich nicht immer gleich schreiben, sondern abhängig vom Kontext: welche Sprache? für wen bzw. mit wem?



[edit]
Persönlich find ich die Punkt Notation auch optisch ansprechender, weil die Trennung irgendwie sichtbarer erscheint als mit dem Underscore.
Echt? Es gibt afaik Versuche, die die bessere Lesbarkeit von Unterstrichen gegenüber Camel nahelegen. Ich vermute, dass in puncto Lesbarkeit Unterstrich > Punkt > Camel gilt.

Hauptproblem mit dem Punkt ist, wie gesagt, dass er sich nicht gut mit Objektorientierung verträgt. Ich sehe daher keinen Grund, weshalb man ihn jemals dem Unterstrich vorziehen sollte und bin geradezu schockiert, dass Google ihn empfiehlt.
 
Zuletzt bearbeitet:
Mitglied seit
21.08.2010
Beiträge
7.572
Reaktionen
828
Ich hab in R häufig Gruppen von Variablen mit Untergruppen die jeweils in 4er 5er Spaltenblöcken im Datensatz selbst vorliegen. Da benutze ich dann häufig bla1.blub2 zur Strukturierung und genau da brauche ich genau diese Funktion auch. Außerdem funktioniert mein ganzer Desktop ja auch nach der Regel, weswegen ich ganz allgemein meine Dateinamen so strukturiere (mit Komma).

Was das Lehren angeht: Ich hab da 90% Studis für die absehbar Copy/Paste der einzige Shortcut sein wird den sie je konstant im Kopf behalten :rolleyes:
Das sind keine Coder, wenn ich anfang denen was von unterschiedlichen Konventionen zu erzählen sind die eingeschlafen bevor ich CamelCase sagen kann.

Benutze ansonsten halt auch (häufig) vim-style Commands weil ich mich irgendwann daran gewöhnt habe. Da ist das Springen meistens ein untergeordnetes Problem. Nur halt in RStudio nicht.

Heil vim.
 

Benrath

Community-Forum
Mitglied seit
19.05.2003
Beiträge
19.485
Reaktionen
664
Ich stell mir das irgendwann mit 4 oder 5 Blöcken etwas kompliziert vor, wobei ich es auch ähnlich versuche, aber wohl nicht ganz so viel code wie einige hier.

ich versuch eher im ersten Block die Art des Objekts zu benennen

df.raw oder df. consolidated oder ähnliches

oder par.new par.xyz

model.xyz

Nutz du die Projekte von R? oder gleich alles auf github?
 

FORYOUITERRA

TROLL
Mitglied seit
22.07.2002
Beiträge
4.501
Reaktionen
371
Website
www.frauentag.de
nutze immer unterstrich in R, damit man in seinem jupyter notebook mit r-kernel nicht mit python objekten in konflikt kommt. :gosu:

edit: achja, und ich muss es wissen, da ich eventuell älter als ihr bin. so ist es.
 
Zuletzt bearbeitet:
Mitglied seit
21.08.2010
Beiträge
7.572
Reaktionen
828
Nutz du die Projekte von R? oder gleich alles auf github?
ja, ist für vieles schon ganz praktisch. also eigentlich v.a. dann wenn man mehrere unterschiedliche sachen parallel laufen hat. sonst … who cares.

mir ist es beim naming v.a. wichtig, dass die variablennamen nicht so anfangen wie befehle im aktuellen namespace damit die autoergänzung nicht nervt bzw. nützlich ist.

hab selbst nen lokalen git-server via apache. also lokal im sinne von in meiner wohnung, nicht auf der gleichen maschine.
 
Oben