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!
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.
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. |
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?
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".
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.
Ü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 ;)
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.
Aber ist so etwas wie Atmel(Bild) macht gebräuchlich oder eher unschön?
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?
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.