Ist mein Styl so schrecklich?
-
Xantus schrieb:
da gibts glaub ich auch nen Mailinglisten-Streit mit Linus-Torvalds, der Tab-Width 8 vertritt, und dabei auf die Anzahl der Einrückungsebenen eingeht.
Es ging im Beispiel denke ich nicht um die Tab-Breite, sondern um die Anzahl der Ebenen. Man sollte vielleicht dazusagen, dass Linus in besagtem Gespräch insofern auf die Anzahl der Ebenen eingeht, als dass diese maximal drei oder vier (wenn ich es richtig in Erinnerung habe) sein sollte.
-
Ah, okay, das macht Sinn, sorry.

-
LordJaxom schrieb:
Man sollte vielleicht dazusagen, dass Linus in besagtem Gespräch insofern auf die Anzahl der Ebenen eingeht, als dass diese maximal drei oder vier (wenn ich es richtig in Erinnerung habe) sein sollte.
Von solche starren Regeln halte ich nichts, denn in bestimmten Situationen kann es vorkommen, daß es anderweitig der Code noch viel schlechter ist. Ein nicht zu tiefe Verschaltung ist wünschenswert, aber das sollte man nicht zum Dogma erheben.
-
#include <iostream> #include <string> using namespace std; int main() { cout << "Befinden Sie sich in einem gekuendigtem Arbeitsverhaeltnis?" << endl; string arbeitsverhaeltnis; cin >> arbeitsverhaeltnis; if(arbeitsverhaeltnis == "Ja" || arbeitsverhaeltnis == "ja") { cout << "Sie erhalten keine Aktien" << endl; return 0; } cout << "Wie lange arbeiten Sie schon in unserem Betrieb?" << endl; int arbeitsdauer; cin >> arbeitsdauer; if(arbeitsdauer >= 10) cout << "Sie erhalten Zwanzig Aktien" << endl; else if (arbeitsdauer <= 2) cout << "Sie erhalten keine Aktien" << endl; else cout << "Sie erhalten Zehn Aktien" << endl; }So, jetzt kann man es wieder ansehen

-
Und immer noch würde ich bei der ersten Frage mit "JA" antworten und mich wundern.

-
_matze schrieb:
Und immer noch würde ich bei der ersten Frage mit "JA" antworten und mich wundern.

dann lies die Frage... der Variablenname sagt leider genau das Gegenteil aus, das er sollte
-
#include <iostream> #include <string> using namespace std; int main() { cout << "Befinden Sie sich in einem gekuendigtem Arbeitsverhaeltnis?" << endl; string arbeitsverhaeltnis; cin >> arbeitsverhaeltnis; if(arbeitsverhaeltnis == "Ja" || arbeitsverhaeltnis == "ja") { cout << "Sie erhalten keine Aktien" << endl; return 0; }Man sollte immer mit angeben was fuer eine Eingabe das Programm erwartet.
Z.B.cout << "Befinden Sie sich in einem gekuendigtem Arbeitsverhaeltnis? (Ja/Nein)"
-
Is ja gut jetzt hab kapiert das es nicht gut aus sieht und ich arbeite dran.
-
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(); }