Ist mein Styl so schrecklich?
-
Styler2008 schrieb:
Is ja gut jetzt hab kapiert das es nicht gut aus sieht und ich arbeite dran.
Ich denke, er meinte es nicht böse und wollte nur einen guten Vorschlag bringen... Du wolltest ja, dass wir dir Ratschläge geben, oder?
-
wo wir noch ein bisschen bei style sind...
warum schreiben so viele leute
int main() { // <----- if () { // <---- } } void func() { //<---- }also die klammer dahinter ? was hat das für ein vorteil ?
ich finde soetwas grausam zu lesen besonders bei schleifenfor (int i = 0; i < 10; ++i) { for (int j = 0; j < 10; ++j) { blub(); } }
-
Das is geschmackssache, genau so wie ich gerne die geschweiften Klammern mit einrücke. Gerade unter Javalern ist die öffnende Klammer in der selben Zeile aber sehr beliebt.
Dass es weniger Platz verbraucht und wenn man sich dran gewöhnt hat, man damit auch klar kommt, ist natürlich ein Argument dafür.
-
stylefrage schrieb:
wo wir noch ein bisschen bei style sind...
warum schreiben so viele leute
int main() { // <----- if () { // <---- } } void func() { //<---- }also die klammer dahinter ? was hat das für ein vorteil ?
ich finde soetwas grausam zu lesen besonders bei schleifenfor (int i = 0; i < 10; ++i) { for (int j = 0; j < 10; ++j) { blub(); } }[ironie mit ein bisschen wahrheit...]
Früher waren die Bildschirme und Festplatten klein, da musste man sparen wo man nur konnte....
[/ironie]
-
JustAnotherNoob schrieb:
Dass es weniger Platz verbraucht und wenn man sich dran gewöhnt hat, man damit auch klar kommt, ist natürlich ein Argument dafür.
Ich würde sogar sagen, das ist das Argument :p
Naja, natürlich ist es Geschmackssache, und jeder sollte es so machen, wie es ihm am besten geht. Ich persönlich finde geschweifte Klammern am Ende der Zeilen auch hässlich und unübersichtlich. Da verschwende ich lieber mehr Platz. Man schreibt ja auch nicht mehrere Anweisungen pro Zeile, um Platz zu sparen.
-
Ich würde mir folgenden Stil angewöhnen:
80x25: passt immer genau in ein Konsolenfenster.
Voll-funktionsfähiges Beispiel eines Computerspiels:
include <allegro.h> /* Obfuscated Code Jigsaw - Ryan Patterson */ #include <stdio.h> /* This program is my entry into the 2004 Allegro */ #include <string.h> /* ScreenHack competition. The game is a classic jigsaw */ /* puzzle. Simply move pieces around to piece back together my horribly */ /* obfuscated code. Compiles with gcc 3.3.1 and MSVC 7. Note that the file */ /* needs to be run from the same directory as its source file -- it reads in */ /* its source as the background for the puzzle. Even has animation. Enjoy! */ int i,x,y,p=4,m=0;BITMAP*b[25],*d[25],*s,*w;char l[81],*c;k(){if((i==p-1&&p%5!= 0)||(i==p+1&&p%5!=4)||(i==p+5&&p<20)||(i==p-5&&p>4)){w=b[p];b[p]=b[i];b[i]=w;p= i;if(!*l)++m;}}main(){FILE*f=fopen(__FILE__,"r");srand(time(NULL));allegro_init ();install_keyboard();install_mouse();set_color_depth(32);set_gfx_mode(GFX_AUT\ ODETECT_WINDOWED,640,200,0,0);s=create_bitmap(640,200);clear(s);for(i=0;i<25&&! feof(f)&&*fgets(l,81,f);++i,*l=0){if(strlen(l)<2){--i;continue;}c=strchr(l,13); if(!c)c=strchr(l,10);if(c)*c=0;textout(s,font,l,0,i*8,-1);}fclose(f);for(x=0;x< 5;++x)for(y=0;y<5;++y)b[y*5+x]=d[y*5+x]=create_sub_bitmap(s,x*128,y*40,128,40); clear(b[p]);*l=1;while(!key[KEY_ESC]){if(!*l){if(!(mouse_b&1))continue;i=(mous\ e_y/40)*5+(mouse_x/128);k();i=0;for(x=0;x<5;++x)for(y=0;y<5;++y)if(b[y*5+x]!=d[ y*5+x])i=1;if(!i){textprintf(screen,font,392,168,0xff00,"You won in %d moves!", m);rest(2000);readkey();break;}}else{textprintf(screen,font,392,168,0xff0000,"\ Randomizing... %d%%",(unsigned char)*l*100/255);rest(100);switch(rand()%4){case 0:i=p-1;break;case 1:i=p+1;break;case 2:i=p-5;break;case 3:i=p+5;break;}k();++* l;}show_mouse(NULL);for(x=0;x<5;++x)for(y=0;y<5;++y)blit(b[y*5+x],screen,0,0,x* 128,y*40,128,40);for(x=1;x<5;++x)vline(screen,x*128,0,200,-1);for(y=1;y<5;++y)\ hline(screen,0,y*40,640,-1);show_mouse(screen);}for(i=0;i<25;++i)destroy_bitmap (b[i]);destroy_bitmap(s);}END_OF_MAIN()/*Thanks for playing! Hope you enjoyed*/
-
XaTrIxX schrieb:
copy and paste und sich toll fühlen, weil man was schönes gefunden hatlustig, lustig...
Ich versuch beim Fußball spielen auch immer die Flanken zu üben obwohl ich noch nicht mal nen Pass über 2 Meter hinbekomme...
-
Nexus schrieb:
Naja, natürlich ist es Geschmackssache, und jeder sollte es so machen, wie es ihm am besten geht. Ich persönlich finde geschweifte Klammern am Ende der Zeilen auch hässlich und unübersichtlich. Da verschwende ich lieber mehr Platz. Man schreibt ja auch nicht mehrere Anweisungen pro Zeile, um Platz zu sparen.
Man sehe sich Python an.
Die Klammern sind uninteressant - was zaehlt ist die einrueckung. und ob ich die klammer nun in eine eigene zeile setze oder ans ende der zeile ist relativ egal fuer das generelle bild des codes.
-
stylefrage schrieb:
also die klammer dahinter ? was hat das für ein vorteil?
Die Frage ist es wie man mit Konstrukte mit einer Anweisung handhabt.
// Variante 1 if (x == true) foo(); // Variante 2 if (x == true) foo(); // Variante 3 if (x == true) { foo(); }Wenn man Softwarewartung macht dann halte ich Variante 2 für gefährlich, da man schnell noch eine Anweisung drunter schreibt und dann sich wundert, weil es nicht so funktioniert wie es soll. Ich verwende das nie. Ergo immer Variante 1 mit Leerzeile drunter oder Variante 3.
Daraus resultiert, daß ein "if" o.ä. mit nachfolgender Einrück ausreichend ist, um den Codeblock zu kennzeichnen, genau genommen bräuchte es das "{" (reiner Bloat) gar nicht, die Sprache erfordert es aber.
-
Wer schreibt denn bitte
~john schrieb:
if (x == true)? :p
P.S. Was ist nun mit Variante 4? Also
if (x != false) { foo(); }