Coding Styles Horror
-
#include <someclass.h> short foo() { short rc = RC_GOOD; //rc fuer return code Someclass* pSc = NULL; if (!pSc) //könnte ja sein dass die Heinzelmännchen da waren... { pSc = new Someclass(); } if (!pSc) //oder dass new plötzlich wieder im Jahr 1993 ist { rc = RC_FAIL; //setzen wir sicherheitshalber den returncode return RC_FAIL; //weil wir ihn eh nicht zurückgeben! } if (rc != RC_FAIL) //wie auch immer das hier RC_FAIL sein könnte { /* ... */ // arbeite mit pSc } return rc; }
Und das laufend. *wein*
-
^^...und das 'delete' fehlt auch noch.
pumuckl schrieb:
Und das laufend. *wein*
von einer person?
-
pumuckl schrieb:
#include <someclass.h> short foo() { short rc = RC_GOOD; //rc fuer return code Someclass* pSc = NULL; if (!pSc) //könnte ja sein dass die Heinzelmännchen da waren... { pSc = new Someclass(); } if (!pSc) //oder dass new plötzlich wieder im Jahr 1993 ist { rc = RC_FAIL; //setzen wir sicherheitshalber den returncode return RC_FAIL; //weil wir ihn eh nicht zurückgeben! } if (rc != RC_FAIL) //wie auch immer das hier RC_FAIL sein könnte { /* ... */ // arbeite mit pSc } return rc; }
Wenn die Kommentare auchnoch so im Code wären, dann wäre es der beste Code aller Zeiten.
-
Zumindest tut dieser COde vermutlich exakt das, was er soll
Heinzelmännchen-Safe
-
ich tippe darauf das der code staendig refactort wurde - da ne zeile geaendert - dann da - (ah da kann gleich ein return hin) und am ende war er so
aber echt nett an zu sehen #gg
-
dazu fällt mir zb. if(!(buf=malloc(..))) exit(1); ein... in einem C++ constructor
da hab ich lieber Heinzelmännchen.
-
DrGreenthumb schrieb:
dazu fällt mir zb. if(!(buf=malloc(..))) exit(1); ein... in einem C++ constructor
da hab ich lieber Heinzelmännchen.
exits in Code von Bibliotheken hab ich auch ein Paar mal gesehen. Grausam sowas...
-
zwutz schrieb:
#ifndef RANDOMCLASS_H #define RANDOMCLASS_H using namespace std; class RandomClass { ... }; #endif
derartiges findet sich in einigen sehr oft verwendeten Bibliotheken unserer Software
`
na und? normal, wa.
-
hääääh? schrieb:
na und? normal, wa.
using namespace im HEADER-File.
-
char inttochar(int u) { if(u==0){return '0';} if(u==1){return '1';} if(u==2){return '2';} if(u==3){return '3';} if(u==4){return '4';} if(u==5){return '5';} if(u==6){return '6';} if(u==7){return '7';} if(u==8){return '8';} if(u==9){return '9';} } int chartoint(char v) { if(v=='0'){return 0;} if(v=='1'){return 1;} if(v=='2'){return 2;} if(v=='3'){return 3;} if(v=='4'){return 4;} if(v=='5'){return 5;} if(v=='6'){return 6;} if(v=='7'){return 7;} if(v=='8'){return 8;} if(v=='9'){return 9;} }
Da hatte wohl jemand nicht viel Ahnung von der ASCII Tabelle
-
Nachdenken! schrieb:
char inttochar(int u) { if(u==0){return '0';} if(u==1){return '1';} if(u==2){return '2';} if(u==3){return '3';} if(u==4){return '4';} if(u==5){return '5';} if(u==6){return '6';} if(u==7){return '7';} if(u==8){return '8';} if(u==9){return '9';} } int chartoint(char v) { if(v=='0'){return 0;} if(v=='1'){return 1;} if(v=='2'){return 2;} if(v=='3'){return 3;} if(v=='4'){return 4;} if(v=='5'){return 5;} if(v=='6'){return 6;} if(v=='7'){return 7;} if(v=='8'){return 8;} if(v=='9'){return 9;} }
Da hatte wohl jemand nicht viel Ahnung von der ASCII Tabelle
Oder er hatte Alien OS 2.0 das hat keine ASCII Tabelle.
-
Besser mieser und gehackter Code aber die Anwendung geht, als Theoretiker, die den ganzen Tag nur über Konstrukte nachdenken und letztlich nix schaffen.
-
RealistX schrieb:
Theoretiker, die den ganzen Tag nur über Konstrukte nachdenken und letztlich nix schaffen.
Hab ich noch nie einen gesehen.
-
Nachdenken! schrieb:
char inttochar(int u) { if(u==0){return '0';} if(u==1){return '1';} if(u==2){return '2';} if(u==3){return '3';} if(u==4){return '4';} if(u==5){return '5';} if(u==6){return '6';} if(u==7){return '7';} if(u==8){return '8';} if(u==9){return '9';} } int chartoint(char v) { if(v=='0'){return 0;} if(v=='1'){return 1;} if(v=='2'){return 2;} if(v=='3'){return 3;} if(v=='4'){return 4;} if(v=='5'){return 5;} if(v=='6'){return 6;} if(v=='7'){return 7;} if(v=='8'){return 8;} if(v=='9'){return 9;} }
Da hatte wohl jemand nicht viel Ahnung von der ASCII Tabelle
Naja, das ist die portabelste Version dieser Funktionen. Sie funktioniert auf beliebigen Architekturen die char und int unterstützen...
-
µµµµønsŧS schrieb:
Naja, das ist die portabelste Version dieser Funktionen. Sie funktioniert auf beliebigen Architekturen die char und int unterstützen...
Außer natürlich, es würde im Sprachstandard stehen, daß der Zeichensatz die Ziffern von 0 bos 9 aufeinandefolögfend unterzubringen hat.
-
Wäre dann ein switch/case-Konstrukt nicht immer noch vorzuziehen?
-
Switcha schrieb:
Wäre dann ein switch/case-Konstrukt nicht immer noch vorzuziehen?
Warum nicht einfach das?
char inttochar(int u) { return *("0123456789" + u); }
-
TyRoXx schrieb:
Switcha schrieb:
Wäre dann ein switch/case-Konstrukt nicht immer noch vorzuziehen?
Warum nicht einfach das?
char inttochar(int u) { return *("0123456789" + u); }
also
char inttochar(int u) { return "0123456789"[u]; }
oder
char inttochar(int u) { return u["0123456789"]; }
-
^^für hexziffern ist die array-methode gut, wegen der lücke zwischen '9' und 'a'.
ansonsten natürlich: #define to_char(x) ('0'+(x))
-
wie wärs mit:
int a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z; //statt int Buchstabe[27];