Laden...

[Review] - Mein erstes C# Programm

Erstellt von dariDave vor 8 Jahren Letzter Beitrag vor 7 Jahren 5.303 Views
Thema geschlossen
D
dariDave Themenstarter:in
1 Beiträge seit 2015
vor 8 Jahren
[Review] - Mein erstes C# Programm

Hallo ich bin neu Hier im Forum und auch neu in der Programmier Sprache C#!

Hier ist mein erstes Programm...Ich bin für Verbesserungs Vorschläge offen 🙂

/*
 * Written by 0xDav
 * Created at 17th July 2015
 * Open Source
 */



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Cleverbots_kleiner_Bruder
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Console.Write("Hallo\n" + "Mein Name ist Clever Junior\n" + "Und Wie ist dein Name?\n");
            string Name = System.Console.ReadLine();
            System.Console.Write(Name + " das ist aber ein Schöner Name\n");
            System.Console.Write("Und Wie Alt bist du?\n");
            string Alter = System.Console.ReadLine();
            System.Console.Write("Cool dass du " + Alter + " Jahre Alt bist!\nIch bin auch\n");
            System.Console.Write("Guckst du oft Youtube? Ja oder Nein\n");
            string Youtube = System.Console.ReadLine();
            if (Youtube == "Ja")
                System.Console.Write("Cool ich schaue immer die Cleverbot Videos\n");
            else if (Youtube == "Nein")
                System.Console.WriteLine("Ja ich schaue auch keine Youtube Videos\n");
            else
                System.Console.Write("OK!\n");
            System.Console.Write("Wie Gehts?\n Gut Oder Schlecht?\n");
            string feeling = System.Console.ReadLine();
            if (feeling == "Gut")
                System.Console.Write("Das ist schön!\n Mir auch!\n");
            else if (feeling == "Schlecht")
                System.Console.Write("Das ist Schade!\n");
            else
                System.Console.Write("OK!\n");


            System.Console.ReadKey();

        }
    }
}

Ich freue mich über Jede Antwort!

P
1.090 Beiträge seit 2011
vor 8 Jahren

Hi dariDave,

dein Programm ist ja jetzt nicht wirklich lang. Da gibt es nicht wirklich viel zu sagen.

Die Variablen namen sind OK. Für YouToub (das es Ja oder Nein, auch wenn es jetzt ein string ist) enthalten sollt. Hätte ich vieleicht Is als Präfix gewählt (vielleicht noch Many oder so was). (Bei boolen Variablen bietet sich sowas Grundlegend an).

Bei der Formatierung, solltest du vileicht auch Innerhalb einer Methode mal eine Leere Zeile einfügen um die Logischen Blöcke zu trennen.

Eingabe Validierungen und OOP Konzepte fehlen natürlich ganz. Aber für eine erstes Programm ist es für mich Vollkommen OK.

Weiter so und noch viel Spaß beim Programmieren.

MFG
Björn

Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern

4.938 Beiträge seit 2008
vor 8 Jahren

Hallo dariDave,

dadurch daß du im Kopf deiner Datei "using System" stehen hast, kannst du auf "System." in den Methoden verzichten:


Console.Write("OK!\n");

Und diese Anweisung kannst du noch verfeinern, indem du


Console.WriteLine("OK!");

schreibst, so daß du nicht jedesmal '\n' schreiben mußt.
Dadurch wirkt der ganze Code dann aufgeräumter und besser lesbar.

N
17 Beiträge seit 2016
vor 7 Jahren

Ist vielleicht etwas spät, aber vielleicht hilft es ja anderen Lesern:

Du kreierst für jede Eingabe eine neue string-Variable. Das scheint mir unnötig aufwändig.
Ich würde daher zwei Dinge ändern:

  1. Variablen am Anfang der Main-Methode deklarieren (oder aber ausserhalb der Methode als globale Variablen.
  2. Nur EINE Variable, der nach jeder Eingabe ein neuer Wert zugewiesen wird. Spart ne Menge Code und ist viel übersichtlicher 😉
771 Beiträge seit 2009
vor 7 Jahren

Hi NiggiBS,

in C# programmiert man nicht wie in C, daher sind deine beiden Tipps hier nicht so sinnvoll.

N
17 Beiträge seit 2016
vor 7 Jahren

Hi NiggiBS,

in C# programmiert man nicht wie in C, daher sind deine beiden Tipps hier nicht so sinnvoll.

Ich habe noch nie in C programmiert. Also sind meine Tipps doch sinnvoll.

2.207 Beiträge seit 2011
vor 7 Jahren

Hallo NiggiBS,

Also sind meine Tipps doch sinnvoll. ((Bitte einen anderen "Ton")

  1. Variablen am Anfang der Main-Methode deklarieren (oder aber ausserhalb der Methode als globale Variablen.

Eher weniger. Man könnte auch argumentieren, dass die Variablen am Anfang zu deklarieren insofern wenig Sinn macht, als dass es das Programm bei dem Umfang nur noch grösser machen würde. Ausserdem wären sie nicht so nah bei ihrem Scope wie sie sein sollten. Global macht erst recht keinen Sinn.

  1. Nur EINE Variable, der nach jeder Eingabe ein neuer Wert zugewiesen wird. Spart ne Menge Code und ist viel übersichtlicher 😉

Hier könnte man sagen, dass die Variable, welchen Namen sie auch hätte, jedesmal einen anderen Inhalt und Bedeutung bekommen würde. Mal steht was über den Namen, den Gemütszustand drin, mal was über Youtube etc. Kein Mensch würde schnallen für was die Variable da ist.

Das gezeigte Programm ist sicher eins der erdenklich einfachsten und lässt sich in alle Richtungen umschreiben und "verbessern". Aber es ist für den Anfang absolut okay.

Das Thema ist nun mehr als neun Monate alt. Wir sollten es hierbei belassen.

Gruss

Coffeebean

16.827 Beiträge seit 2008
vor 7 Jahren

NiggiBS, auch von meiner Seite die Aufforderung zu einem anderen Ton.
Das hier ist kein Platz um andere zu beleidigen. Dahingehend eine Verwarnung von meiner Seite.
Du bist hier nicht anonym unterwegs - Beleidigungen gehen i.d.R. nach hinten los.
Über Google findet man viele Profile, die offensichtlich Dir gehören.

Mit dem Risiko, dass auch Du NiggiBS mich als amateurhaft beleidigen wirst:
fachlich sind Deine Tipps und weit weg von empfehlenswert.
Zudem ist es i.d.R. unnötig auf einen 9 Monate alten Beitrag zu antworten. Der Quellcode wird sehr wahrscheinlich mittlerweile anders aussehen und damit wird die Antwort irrelevant.

Da ich nicht damit rechne, dass sich eure Auseinandersetzung (felix, NiggiBS) und vor allem die Tonlage bessert ist der Thread auch nach Beschwerden/Hinweisen anderer Forenteilnehmer zu.
Den Spam hab ich entfernt.

Thema geschlossen