Cooler Code



  • Hallo,

    ich will nen coolen Code schreiben. Sieht der gut aus?

    #include <iostream>
    #include <windows.h>
    
    void s(int n){
    	while(n--) std::cout<<' ';
    }
    
    void r(int n){
    	while(n--) std::cout<<(char)('a'+rand()%66);
    	std::cout<<std::endl;
    }
    
    int k(){return rand()*rand();}
    
    int main (int argc, char* argv[]){
    	int m;
    	static int loop=9;
    
    	srand( (unsigned)time( NULL ) );
    
    	while(true){
    		m=rand()%21;
    		s(2);
    
    		switch(m){
    			case4:
    			int ie;
    			for(ie=0;ie<5;ie++){
    				case 1:{
    					std::cout<<&m+(m<<15)+rand()*rand();
    					s(3);
    					continue;}
    				case 2:{
    					while(m>0) std::cout<<&loop+m--;
    					goto case4;}
    				case 3:{
    					std::cout<<std::endl;s(2);r(k()%71);s(2);}
    				case 4:{
    					std::cout<<main<<"   "<<&m+m*1744<<"    "<<r<<main<<"  "<<main;;
    					break;}
    				case 5:
    					std::cout<<s<<"  "<<main<<"\t  "<<&ie<<k;
    					break;
    				case 6:
    					r(rand()%70);
    					break;
    				default:{
    					std::cout<<'\t'<<&m+(m<<23)<<"  "<<&ie+k()<<"  "
    						<<&loop+k()<<"  "<<&m+rand()*rand()<<"  "
    						<<&m+loop*(rand()<<4)<<"  "<<&ie+loop*k();
    					break;}
    			}
    		}
    		std::cout<<std::endl;
    		Sleep(35);
    	}
    
    	return 0;
    }
    

    Kann man noch was besser machen? Oder ne bessere Ausgabe?



  • Klar - der ist schon fast ein Fall für den Obfuscated C++ Contest (erinnert mich irgendwie an das Duff's Device). Inwieweit sowas praktisch verwertbar ist, ist die andere Frage.



  • totaler.... anfängercode



    1. Was verstehst du im Zusammenhang mit C++-Code unter "cool"? Einige Leute finden es cool, wenn ein Problem elegant, uebersichtlich und mit wenigen Zeilen geloest wurde. Andere Leute behaupten, es sei cool, wenn ihr code vor Klammern, Operatoren etc. wimmelt, wenig Bezeichner enthaelt und dementsprechend unlesbar ist. Da du hauptsaechlich Bezeichner mit einem Buchstaben verwendest, tippe ich darauf, dass du zu letzterer Spezies gehoerst - und finde das ziemlich uncool (wie wohl die meisten hier).

    2. Zum Code:
      - labels und gotos sind boese, brechen meist den Codefluss auf (so wie hier bei dir) => Uncool.
      - die case-marken fuer ein switch-statement in einer for-Schleife zu verschachteln, geht das ueberhaupt (habs noch nie gesehn)? Falls ja: nicht nur ungewoehnlich, sondern auch aeusserst schwer verstaendlich und kaum nachvollziehbar => Uncool.
      - du definierst eien funktion k() die rand()*rand() zurueckgibt, trotzdem tauch rand()*rand() in deinem Code spaeter auf - wo ist da der Sinn?
      - dein ganzer code wimmelt von rand()s und bitshifts auf Zeigern auf irgendeiner statischen Variable, und das Ganze wird dann an cout gespamt - das gibt nur undefinierten Zeichensalat, wozu soll das gut sein?

    Mal agnz ehrlich: wenn du hier cool sein moechtest, dann schreib entweder einen guten Artikel ueber ein Thema was noch nicht abgedeckt ist, oder stelle usn Code vor, der was sinnvolles auf intelligente Art macht, aber kryptischer Zeichensalat, der zwar compilieren mag, aber uch nur sinnfreien Zeichensalat in die Standardausgabe spamt, ist bestimmt nicht cool...

    JM2C



  • genau.. jetzt schaust dir den code 2 wochen nicht mehr an, danch kuckst du ihn dir an und denkst "scheiss code , was hab ich da gemacht, wie uncool"



  • Hallo

    Mal davon abgesehen das der Code nichtmal kompiliert

    GCC schrieb:

    ISO C++ forbids taking address of function '::main'

    Also völlig uncool

    bis bald
    akari



  • MovieHacker schrieb:

    Hallo,
    ich will nen coolen Code schreiben. Sieht der gut aus?...

    Nö. :p
    "Cooler Code":

    #include "cooler.h"
    int main() {
       return cool_down();
    }
    

    Gruß,

    Simon2.



  • akari schrieb:

    Hallo

    Mal davon abgesehen das der Code nichtmal kompiliert

    GCC schrieb:

    ISO C++ forbids taking address of function '::main'

    Also völlig uncool

    bis bald
    akari

    Mit dem Visual Studio kompiliert es.

    Der Code soll nur cool aussehen.



  • MovieHacker schrieb:

    ...
    Der Code soll nur cool aussehen.

    Die entscheidende Frage bist Du noch schuldig: Was bedeutet "cool" in dem Zusammenhang ?

    Vermutlich so etwas wie "beeindruckend" - aber da bleibt dann zu klären: WEN es WODURCH beeindrucken soll. Erfahrende Programmierer (wen) kannst Du damit jedenfalls genausowenig beeindrucken wie durch Übersichtlichkeit, gute Strukturierung, gute Sprachkenntnis, ... (wodurch)...

    Gruß

    Simon2.



  • MovieHacker schrieb:

    Der Code soll nur cool aussehen.

    Tut er aber nicht, weil man nicht mal ansatzweise erkennen kann, was er machen soll. Für PC-Neulinge mag er evtl nerdig aussehen, bringt dich aber imho auch nicht weiter 😉



  • Der Code ist für ihn Cool, weil er komplex aussieht, und er denkt das das andere Denken: "Krass, der code hat mal ein superfreak gecoded. Ich blick nich durch"



  • Cooler Code ist für mich Quelltext, den auch ein aussenstehender versteht und nachvollziehen kann und vor allem Code den man auch nach 5 Monaten noch selber versteht. Und der natürlich sinnvoll kommentiert ist.
    rya.



  • Ihr müsst ja auch alles und jeden füttern... 😉



  • Tim schrieb:

    Ihr müsst ja auch alles und jeden füttern... 😉

    Jetzt nicht mehr 😃

    @MovieHacker: Komm wieder, wenn du gelernt hast, lesbare Programme zu verfassen-


Log in to reply