Schreibstil bitte bewerten:



  • Folgendes:

    Ich mache zur Zeit ne Ausbildung zum technischen Assistenten für Informatik.
    In der Schule wurde mir das Forum hier empfohlen, da die Community hier sehr fit ("freakig" ^^) sein soll.

    Wie dem auch sei, ich mache über die 2 Jahre jetzt ein Projekt in der Freizeit... Den Code und wie das ganze Zeug alles funktioniert will ich hier nicht wissen, sondern ihr sollt nur meinen "Schreibstil" des Codes bewerten...

    das heisst: Ist es zu unübersichtlich, sind die Kommentare nicht aussagekräftig genug etc..

    Hier ein kleiner Ausschnitt des codes:

    #include "stdafx.h"
    #include <stdio.h>
    #include <math.h>
    
    //Ab hier die cpp Dateien///////////////////////////////////////////////////////////////////
    #include "classes.cpp"
    
    void main()
    {
    	int iWahl =0, iCreatures = 0,iMode,iExit=0,iPlayedBefore =0;
    	char cWelcomeTest[14] = {'W','i','l','l','k','o','m','m','e','n','\0'}; //Das erste Wort des Begrüßungs printf
    	char cWahl;
    	ínt iLoopOn =0; // Ist die Variable für die große Hauptschleife beim Start des Programms
    	class_functions cfunc;
    	printf("%s in Simu Life!\nDie Simulation beginnt sogleich!", cWelcomeTest);
    	printf("Was moechten sie nun tun?\n");
    	do
    	{
    		printf("[1]Fortfahren \n[2]Neue Simulation starten \n[3]Beenden\n"); 
    		scanf("%d", &iWahl);
    		if(iWahl == 1)// Fortfahren
    		{
    			if(iPlayedBefore == 1) //Vorher beendete Simulation fortfahren
    			{
    				test_class testclass;
    				testclass.func_test();
    			}
    			else
    			{
    				printf("Sie haben leider noch keine Simulation begonnen.Möchten sie das jetzt tun?(J/N)");
    				scanf("%c", &cWahl);
    				if(cWahl == 'J' || cWahl == 'j')   // "Ja"
    				{
    					cfunc.new_game();         //Neuen Spielstand anlegen (in Textdatei)
    				}
    				else                              //Wenn nicht: 
    				{
    					iLoopOn = 1;                //Schleife an, das heisst Wahl von vorne
    				}
    			}
    		}
    		if(iWahl ==2) // Neue Simulation starten
    		{
    			cfunc.new_game();
    
    		}
    		if(iWahl == 3)  //Simulation beenden
    		{
    			iExit =1;
    		}
    	}while(iLoopOn == 1);
    }
    

    danke im vorraus

    mfg travis



  • grottig. das ist ja C/C++ in the mix...



  • stimmt leider... das problem ist das ich früher bissel c++ geproggt hab und jetzt in der ausbildung fangen wir im ersten jahr mit C an und next jahr c# (ka ob die c++ nehmen)

    naja egal... weiterbewerten und tips geben bitte 😃



  • hi,

    zwischen Variablendeklaration und eigentliche Codeanfang wurde ich ne Leerzeile machen. Dann sieht man sofort wo was deklariert wird, und wo der Code anfängt.

    Ist ne Kleinigkeit, aber immerhin

    Am sonsten ist der Code gut lesbar und verständlich auch 👍

    cu



  • warum schreibtst du nicht

    char test[] = "Das ist ein Test";

    Das sollte eigentlich gehen.

    Mal ein paar C++ Vorschläge:

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    void main()
    {
      //C++ Strings sind einfacher zu handhaben als Char Arrays
      string xy,buf;
      int zahl;
      xy = "Test";
      cout << xy << endl;  //oder cout << xy << "\n"
      cout << "Bitte was eingeben: " << endl;
      cin >> buf;
      cout << "Bitte eine Zahl eingeben: " << endl;
      cin >> zahl;
      cout << "Die Zahl war: " << zahl << endl;
      return;
    }
    


  • 1.) Es handelt sich eindeutig um C. Von ++ ist hier nichts zu sehen.

    2.) Man includiert für gewöhnlich nur Header und keine CPP-Files, warum auch.

    3.) Wenn du schon (fast) alle Variablen initialisiert hast. Warum dann nicht auch:

    char cWahl;
    

    4.) Du solltest nur includieren was notwendig ist. Das heisst, ich sehe keinen
    Bedarf für

    #include <math.h>
    

    5.) Was spricht gegen

    if (iWahl == 1)// Fortfahren
    {
    }
    else if (iWahl ==2) // Neue Simulation starten
    {
    }
    else if (iWahl == 3)  //Simulation beenden
    {
    }
    

    6.) Einige passende Leerzeilen würden sicherlich die Übersichtlichkeit erhöhen.

    7.) Was machts du bei Fehlern. Zum Beispiel

    int res = scanf("%d", &iWahl);
    

    wäre ein Verbesserungsvorschlag.

    Mehr ist mir auf die Schnelle nicht eingefallen. 🙂



  • Redhead schrieb:

    5.) Was spricht gegen

    if (iWahl == 1)// Fortfahren
    {
    }
    else if (iWahl ==2) // Neue Simulation starten
    {
    }
    else if (iWahl == 3)  //Simulation beenden
    {
    }
    

    Hier würde auch ein switch gut passen, insbesondere wenn sich die Zahl der Alternativen
    noch erhöhen würde.



  • Redhead schrieb:

    2.) Man includiert für gewöhnlich nur Header und keine CPP-Files, warum auch.

    Mach ich z.B. mit der Implementierung von Templates. Als eigene UE gehen sie bei den meisten COmpilern nicht, aber ich brauch mir damit auch nicht unbedingt die Header vollzustopfen... Ist aber sicherlich Geschmackssache..



  • 2.) Man includiert für gewöhnlich nur Header und keine CPP-Files, warum auch. 🙄

    Wird es sich hierbei

    #include "classes.cpp"
    

    wohl um Templates handeln ?? 😉



  • darein schreib ich alle klassen (ich finds übersichtlicher wenn ich net alles in die hauptdatei mit reinstopf)



  • die definition der Klassen musst du in eine eigene UE schreiben. Und die dann mitkompelieren (in deiner IDE zum Projekt hinzufügen). Man darf cpp Datein nicht mit #include einbinden. Es mag da sicherlich einige ausnamhmen geben, aber die Regel ist es nicht zu machen.



  • TravisG schrieb:

    (ich finds übersichtlicher wenn ich net alles in die hauptdatei mit reinstopf)

    Das ist auch nicht die Alternative. Richtig wäre es, die Klassendefinitionen zu inkludieren und die Definitionen der Methoden seperat zu übersetzen.

    Zu dem Code. Imo solltest du deinen Code lieber besser strukturieren (Funktionen die eine und nur eine Aufgabe erfüllen) statt ihn übermäßig zu kommentieren.


Anmelden zum Antworten