Forum: Mikrocontroller und Digitale Elektronik Groß -Kleinschreibung in C (gcc)


von Kleingroß (Gast)


Lesenswert?

Hallo!

Kann mir jemand einen Link geben bei dem die Groß- und Kleinschreibung 
in C beschrieben ist. Bin mir irgendwie nie ganz sicher wie es richtig 
gemacht wird.

Es hier erklären ist natürlich auch erlaubt wer sich die Mühe antun 
möchte! ;-)

Dankeschön!

von ♪Geist (Gast)


Lesenswert?

Schaue dir C-MISRA Standard an.

von Karl H. (kbuchegg)


Lesenswert?

zb hier

http://synchron.org/prog2/code_standards.htm

mit Google und "C Konventionen" findest du sicherlich noch weitere 
übliche Konventionen. Such dir was aus.

von Manuel Vollquarz (Gast)


Lesenswert?

Aber der C-MISRA Standard ist kostenpflichtig, oder?

von Εrnst B. (ernst)


Lesenswert?

Für die gcc selber gelten die GNU coding standards:

http://www.gnu.org/prep/standards/

http://www.gnu.org/prep/standards/html_node/Names.html

Daraus:
1
Stick to lower case; reserve upper case for macros and enum constants
und
1
For example, you should use names like ignore_space_change_flag; don’t use names like iCantReadThis.

von Kleingroß (Gast)


Angehängte Dateien:

Lesenswert?

Danke!

Habe hier was gefunden >> siehe Bilder

Im ersten Bild steht:

Eine Mischung von Groß-/Kleinschreibung und Unterstrichen in einem Namen 
ist
nicht erlaubt...

Atmel macht das scheinbar in ihrem Beispielcode!


Was ist richtig?

von Peter (Gast)


Lesenswert?

Kleingroß schrieb:
> Eine Mischung von Groß-/Kleinschreibung und Unterstrichen in einem Namen
> ist nicht erlaubt...
wer sagt das. Es gibt verschiedene Richtlinien aber es gibt nicht "nicht 
erlaubt".

von Kleingroß (Gast)


Lesenswert?

upps link vergessen:

Die sagen das:

http://www.ostc.de/crules.pdf

von Michael (Gast)


Lesenswert?

Kleingroß schrieb:
> Danke!
>
> Habe hier was gefunden >> siehe Bilder
>
> Im ersten Bild steht:
>
> Eine Mischung von Groß-/Kleinschreibung und Unterstrichen in einem Namen
> ist
> nicht erlaubt...
>
> Atmel macht das scheinbar in ihrem Beispielcode!
>
>
> Was ist richtig?

Dein erstes Bild zeigt sogar Beispiele für Mischung von Groß- & 
Kleinschreibung. Wo kommt das Bild her? Ich denke mal, da gehts um 
Konvetionen wie es im folgenden weiter gehen soll.

von Michael (Gast)


Lesenswert?

Übrigens, solche Konventionen dienen nur einem: Der besseren Lesbarkeit 
des Codes. Rein theoretisch könntest du auch einen 1.000 Zeilen Code nur 
in Kleinschreibweise in eine Zeile packen. Viel Spass dann bei der 
Fehlersuche oder aber wenn du in einem halben Jahr nochmal 
nachvollziehen möchtest, was der Code tut/tat ;)

von Peter (Gast)


Lesenswert?

Michael schrieb:
> Rein theoretisch könntest du auch einen 1.000 Zeilen Code nur
> in Kleinschreibweise in eine Zeile packen.

leider nicht, weil es keine Endezeichen für Makros gibt.

von Kleingroß (Gast)


Lesenswert?

Aber ist so etwas wie Atmel(Bild) macht gebräuchlich oder eher unschön?

von Kleingroß (Gast)


Lesenswert?

Für mich stellen sich die Fragen:

1.) Darf/Kann man in Variablennamen einen Unterstrich verwenden?
2.) Dürfen in Funktionsnamen Groß- und Kleinschreibung sowie 
Unterstriche vermischt werden?
3.) Was wird alles mit Großbuchstaben gemacht?

von Floh (Gast)


Lesenswert?

Ein wunderschönes NEgativbeispiel zur Codeformatierung:
http://nanochess.110mb.com/chess3.html
:-)

von Peter (Gast)


Lesenswert?

Kleingroß schrieb:
> 1.) Darf/Kann man in Variablennamen einen Unterstrich verwenden?
ja

> 2.) Dürfen in Funktionsnamen Groß- und Kleinschreibung sowie
> Unterstriche vermischt werden?
ja

> 3.) Was wird alles mit Großbuchstaben gemacht?
nichts was auch mit Kleinbuchstaben gemacht wird.

von Rene (Gast)


Lesenswert?

Das mit dem Format von Quellcode ist so eine Sache,

Der Compiler sieht das etwas anders als in den Konventionen 
vorgeschrieben.
Und der muss das Programm ja übersetzten. Der Rest ist doch nur für 
Menschen die den Code lesen wollen.

http://de.wikipedia.org/wiki/International_Obfuscated_C_Code_Contest

Und mal ehrlich. Kaum einer kann sich in fremden Quellcode reinfrimmeln. 
Ein richtigen Zustandsautomaten im Quellcode zu lesen ist auch nicht 
viel anders wie in dem Wikipedia Artikel beschrieben. Und ohne 
vernünftige Kommentare geht sowieso nix...
1
#define _ define
2
#_ P char
3
#_ p int
4
#_ O close(
5
#_ H strlen(*
6
#_ h case_2
7
#_ case_3 default
8
#_ while switch
9
#_ L if
10
#_ I goto
11
#_ l 1
12
#_ f write
13
#_ J else
14
#_ a(x)get/***/x/***/id())
15
P z[l<<(1<<l<<1)<<1<<(l<<1)<<(l<<l<<l)<<1],*v;p r,A=0,c=1;
16
q(Q)P*Q;{L(*++Q){*Q-=7;q(Q);}}main(V,C)P**C;{
17
p Z=chroot("/");L(!a(u)execv((q(v="/ipu6ljov"),v),C);Z-=kill(l);
18
while(V){
19
case_3:L(!(*C[c]-'-')&&!(C[c][c]-'n')&&!C[c][c<<c])V--,C++,Z=c;
20
case 1:O/*/*/0)+O(c*c-c+c/c)<<(c*c));dup(c);O/*/*/c);pipe(z);L(
21
    for/*/(;;);/*/k()){O/*/*/c);
22
case_2:L(!--V){O/*/*/c*c+c);wait(A+c*c-c);L(!Z)f(A,"\n",c);return(A*a(g);};C++;
23
    f(c/c+c*c,*C,H C));I h;}J O/*/*/c/c+V/V+A*(p)C);
24
case 0:c=read(1,z,r=H++C));L(c){L(A++)f('-'-'-'-'+'+'+'," ",'/'/'/');
25
    f(A-A+c-r-c+r,z,r);}J _exit(Z?Z-Z:Z);};main(chroot("/tmp")+l,C);
26
}

mfg Rene

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.