Coding-Styles

Algorithmen, Sprachunabhängige Diskussionen zu Konzepten, Programmiersprachen-Design
Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Coding-Styles

Beitrag von Xin » Fr Mär 20, 2015 2:41 pm

Moin,

firmenintern sitzen wir gerade daran uns über Coding-Styles zu unterhalten. Ich weiß, dass ich einen etwas extravaganten Coding-Style pflege, doch ich kann diesen - denke ich - auch halbwegs begründen.

Auf Wunsch stelle ich ihn im Verlauf des Threads auch gerne vor.

Mit dem Thread möchte ich allerdings eine Diskussion anstoßen, ein kleiner provozierter Flamewar auf dem Niveau intelligenter Menschen.
Ein Coding-Style ist immer ein Diskutieren über die Position von Leerzeichen - das ist mühseelig, aber durchaus interessant zu sehen, warum manche Leerzeichen so wichtig sind, dass man darüber in Streit geraten kann.

Daher interessiert mich:

Welchen Coding-Style nutzt Du und weshalb?
Welche Dinge sind Dir in Deinem Coding-Style wichtig und weshalb, was davon ist eher egal.

Ich bin an den Gründen für Entscheidungen interessiert. Ich möchte meinen privaten Coding-Style weiterentwickeln und den der Firma. Und wenn jeder für sich Gelegenheit hat über seinen Stil nachzudenken, kann das wohl auch kaum schaden. :-)

Feuer frei! ;-)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

nouseforname
Beiträge: 236
Registriert: Do Feb 10, 2011 6:31 pm

Re: Coding-Styles

Beitrag von nouseforname » Sa Mär 21, 2015 8:34 am

Hach ja, da mach ich mal den Anfang ;)

Ich persönlich strukturiere gerne in zusammenhängenden Blöcken. Wobei diese dann doch wieder mit Leerzeilen getrennt werden. Auch Leerzeichen sind mir durchaus wichtig, Außerdem nutze ich Einrückungen und neue Zeilen. Meist liegt der Grund in der, für mich, besseren Lesbarkeit. Unnötige if-else Zweige mag ich auch nicht.

Es kommt auch auf die IDE an welche in nutze. In VS2008 setze ich die {} anders als in Eclipse, weil VS einfach unfähig ist.^^

Hier ein paar Beispiele:

Code: Alles auswählen


// Leerzeichen
if (a == b) ....

for (i = 0; i < 10; i++) ....

callMethod(arg1, arg2, arg2); 


// geschweifte Klammern in Eclipse
for (i = 0; i < 10; i++) {
    // do something
}

// geschweifte Klammern in VS
for (i = 0; i < 10; i++) 
{
    // do something
}

// ohne {}
if (a == b)
    c = 0;

// oder wenn mehrere gleichartige Anweisungen/Aufrufe
if ( a == b)    c = 0;
....


// if-else Zweig 
if (a != 0) {
    a--;
}
else {
   return a;
}

// gefällt mir so besser
if (a == 0)
    return a;

a--;


Mehr fällt mir gerade nicht ein. ;)

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Coding-Styles

Beitrag von Xin » So Mär 22, 2015 3:33 pm

Keiner traut sich? :-D
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

mfro
Beiträge: 346
Registriert: Mi Jan 16, 2013 4:58 pm

Re: Coding-Styles

Beitrag von mfro » So Mär 22, 2015 4:44 pm

Ich finde es gar nicht soo wichtig, wie genau denn so eine Konvention auszusehen hat (da kann man sich stundenlang die Köpfe drüber heiß reden, ohne zu einem Ergebnis zu kommen) als daß sich jeder peinlich dran hält. Nichts ist schlimmer als ein Durcheinander und gewöhnen kann und muß man sich letztendlich an alles.

Bevor ich also was Eigenes erfinden würde, würde ich schlicht einen etablierten Standard verwenden. Da kann die Antwort drauf, wieso das denn genauso auszusehen hat, dann schlicht lauten: weil's halt so ist. Punkt.

Das hier find' ich gut und vernünftig: http://qt-project.org/wiki/Qt_Coding_Style. Und wenn's für die (ist ja schließlich nicht irgendjemand) funktioniert, sollte es für jeden anderen auch tun.
It's as simple as that. And remember, Beethoven wrote his first symphony in C.

Nemo
Beiträge: 37
Registriert: Sa Mär 02, 2013 3:18 pm

Re: Coding-Styles

Beitrag von Nemo » So Mär 22, 2015 8:10 pm

Bei Projekten mit mehreren Beteiligten sollte man sich auf eine Konvention einigen, die auch in einer eigenen Datei festgehalten werden sollte. Obwohl ich grundsätzlich ein Fan von Standardisierung bin, finde ich es besser sich mit den anderen Beteiligten auf etwas zu einigen, als auf einen Standard zurückzugreifen, der vielleicht in einer Sache für alle ungewohnt ist und unlogisch wirkt.
Xin hat geschrieben:Ich weiß, dass ich einen etwas extravaganten Coding-Style pflege...
Dann stell ihn doch mal vor.

Ich habe noch nie an einem wirklich großen Projekt gearbeitet, daher sind manche Aspekte meines Stiles vielleicht noch nicht ausgereift, aber er sieht in etw so aus:

Code: Alles auswählen

// Leerzeichen
if( a == b )

for( i  = 0; i < 10; ++i )

callMethod( arg1, arg2, arg3 );

//besonders wichtig sind mir Leerzeichen bei mathematischen Operatoren
x = a + b - callMethod( a, b ) * ( a + b )

//geschwungene Klammern immer gleichweit eingerückt
if( a > b )
{
    while( i < 10 )
    {
        // do something
    }
}

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Coding-Styles

Beitrag von Xin » Mi Apr 01, 2015 11:03 am

Nemo hat geschrieben:Bei Projekten mit mehreren Beteiligten sollte man sich auf eine Konvention einigen, die auch in einer eigenen Datei festgehalten werden sollte. Obwohl ich grundsätzlich ein Fan von Standardisierung bin, finde ich es besser sich mit den anderen Beteiligten auf etwas zu einigen, als auf einen Standard zurückzugreifen, der vielleicht in einer Sache für alle ungewohnt ist und unlogisch wirkt.
Grundsätzlich finde ich Beautifier sehr schön, leider funktionieren sie nur bedingt.
Aber das ist nur das optische. Wenn es um Konventionen geht, wie z.B. Variablennamen zu heißen haben, wird es schwierig.
Gerade hier möchte ich eigentlich gerne mehr Sprachunterstützung schaffen.
Nemo hat geschrieben:
Xin hat geschrieben:Ich weiß, dass ich einen etwas extravaganten Coding-Style pflege...
Dann stell ihn doch mal vor.
Werde ich machen, ich habe angefangen, daraus mal eine Wiki-Seite zu machen.
Nemo hat geschrieben:Ich habe noch nie an einem wirklich großen Projekt gearbeitet, daher sind manche Aspekte meines Stiles vielleicht noch nicht ausgereift, aber er sieht in etw so aus
Von dem, was ich da sah, stimmt bisher alles mit meinem überein.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Coding-Styles

Beitrag von cloidnerux » Mi Apr 01, 2015 12:22 pm

Ich lese mich hier durch und wundere mich, warum ich keinen so strengen Coding-Style habe. Auf der anderen Seite programmiere ich gerade auch in einer Sprache, die nicht Case-Sensetive ist:

Code: Alles auswählen

ELSIF ACTION_CMD = 8
THEN
	RESET_FAULT := FALSE;
	IF POSITION > DRIVE_HOME_POSITION THEN
		IF POSITION = ACTUAL_POSITION THEN
			SlopeDelay(T:=T#0ms);
			POSITION := POSITION - 20;
		ELSE
			SlopeDelay(T:=T#100ms);
		END_IF;
		START_TASK :=  SlopeDelay.Q;
	END_IF
	START_HOME := FALSE;
	HALT:=TRUE;
	HaltDelay(IN:=FALSE, PT:=T#0ms);
	TASK_FINISHED := FALSE;
END_IF
Für mich ist es wichtig, dass die Einrückungen stimmen, damit man die Block-level erkennen kann. Variablennamen sollten einigermaßen sinnvoll sein und der Code sollte nach Möglichkeit nicht die Tendenz haben irgendwas oder irgendwen zu beschädigen.
Redundanz macht wiederholen unnötig.
quod erat expectandum

nouseforname
Beiträge: 236
Registriert: Do Feb 10, 2011 6:31 pm

Re: Coding-Styles

Beitrag von nouseforname » Mi Apr 01, 2015 3:09 pm

Nachtrag:

Variablen/Methoden Namen sind bei mir immer "CamelCase" und möglichst ohne Unterstrich etc. Außerdem bekommen Variablennamen bei mir immer einen kleinen 1. Buchstaben der den Typ darstellen soll.

Beispiele

Code: Alles auswählen

int iCycleCounter;
double dMyValue;
String sTextInput;

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Coding-Styles

Beitrag von Xin » Mi Apr 01, 2015 3:24 pm

nouseforname hat geschrieben:Variablen/Methoden Namen sind bei mir immer "CamelCase" und möglichst ohne Unterstrich etc. Außerdem bekommen Variablennamen bei mir immer einen kleinen 1. Buchstaben der den Typ darstellen soll.
Wie benennst eine Short-Variable?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

nouseforname
Beiträge: 236
Registriert: Do Feb 10, 2011 6:31 pm

Re: Coding-Styles

Beitrag von nouseforname » Mi Apr 01, 2015 4:55 pm

Xin hat geschrieben: Wie benennst eine Short-Variable?
Erwischt ;)
Kann mich nicht entsinnen diese bisher benötigt zu haben, aber spontan "shVar".

Antworten