1. #1
    Avatar von Snees
    Registriert seit
    18.11.2011
    Beiträge
    1.001
    Thanked 591 Times in 319 Posts

    Standard Programmierstil

    Ich habe nun schon bei einigen Anfängern gesehen, dass sie ziemlich unübersichtlich programmieren.

    Es folgen nun 2 Codes, die exakt das selbe ausführen.

    So sieht es bei den meisten Anfängern aus:

    Code:
    Module Module1
        Sub Main()
            Console.ForegroundColor = ConsoleColor.Red
            Console.WriteLine("Username eingeben:")
            Dim username As String = Console.ReadLine
            Console.ForegroundColor = ConsoleColor.Green
            Console.WriteLine("Passwort eingeben:")
            Dim passwort As String = Console.ReadLine
            Console.ForegroundColor = ConsoleColor.Yellow
            Console.WriteLine("Logge " & username & " ein.")
    	XXX.Login(username, passwort)
            Console.ReadLine()
        End Sub
    End Module
    Hier ist meine Variante, ich finde sie übersichtlicher.

    Code:
    Module Module1
    
        Private username, password As String
    
        Sub Main()
            WriteColored("Benutzername eingeben:", ConsoleColor.Red)
            username = Console.ReadLine
            WriteColored("Passwort eingeben:", ConsoleColor.Green)
            password = Console.ReadLine
            WriteColored("Logge " & username & " ein.", ConsoleColor.Yellow)
            XXX.login(_username, _password)
        End Sub
    
        Private Sub WriteColored(ByVal Text As String, ByVal Farbe As ConsoleColor)
            Console.ForegroundColor = Farbe
            Console.WriteLine(Text)
            Console.ForegroundColor = ConsoleColor.White
        End Sub
    
    End Module

    Ihr müsst es nicht so machen, aber das ist meine Art und Weise einen Code etwas übersichtlicher zu gestalten.
    Eventuell auch die nachfolgenden Posts lesen

    LG
    Geändert von Snees (20.03.2012 um 21:49 Uhr)

  2. #2
    Avatar von Ta1lor
    Registriert seit
    15.11.2011
    Beiträge
    767
    Thanked 833 Times in 435 Posts

    Standard AW: Programmierstil

    Hast du deine Enter taste vergewaltigt oder was ist los?
    Das Algorithmen/Prozeduren die man öfters aufruft in Methoden ausgelagert werden ist normal.
    Aber deine Login Methode ist unnötig.

    Außerdem sind deine Variablen zum teil auf Deutsch oder Englisch.
    Dann verwendest du groß und Kleinschreibung so wie du gerade Lust hast.

    Das ist doch einfach nur peinlich einen auf Meister Programmierer zu machen und dann so eine scheiße zu Posten.
    Ich bin selber Programmier Anfänger aber kann es trotzdem 100x besser als du.

  3. The Following 3 Users Say Thank You to Ta1lor For This Useful Post:

    Gangstersheep (20.03.2012), rVs14 (20.03.2012), Sky.NET (20.03.2012)

  4. #3
    Avatar von Snees
    Registriert seit
    18.11.2011
    Beiträge
    1.001
    Thanked 591 Times in 319 Posts

    Standard AW: Programmierstil

    In dem Beispiel wie ich es mache sind alle Variablen auf englisch, ich bin kein Meister Programmierer, aber ich finde meine Variante einfach übersichtlicher, man muss nicht nach jeder Zeile Code eine Zeile frei lassen aber ich mach das oft, damit ich später besser die Kommentare einfügen kann.

    Ich verwende nur in dem oberen Beispiel deutsch & englisch, weil ich das so oft sehe.
    Methoden benenne ich immer mit Großbuchstaben und Variablen mit Kleinbuchstaben, was ist daran so schlimm?

    Klar ist die Login-Methode unnötig, aber vielleicht möchte man die mit Abfragen etc. erweitern und dann ist sie nicht mehr so unnötig, weil so dann die Übersichtlichkeit nicht verloren geht.

    Okay, sorry Boss, ich werde nichts mehr in der Richtung posten, tut mir leid, dass ich versuche den richtigen Anfänger etwas auf den richtigen Weg zu helfen. Sorry, aber das was du machst ist peinlich

  5. #4
    Avatar von Ta1lor
    Registriert seit
    15.11.2011
    Beiträge
    767
    Thanked 833 Times in 435 Posts

    Standard AW: Programmierstil

    Kennst du clean code?
    Du versuchst den Leuten deinen Stil aufzuzwängen, was definitiv keine gute Entscheidung ist. Und wenn du Leute oft andere töten siehst, machst du das auch? Es hat einfach mit der Leserlichkeit zu tun. Du schreibst einen Brief ja auch nicht in Deutsch + Englisch, so ist das beim Programmieren auch, der Quellcode soll sich wie ein Brief lesen lassen. Das tut er definitiv nicht mit 200 Leerzeilen.

  6. #5
    Avatar von Sky.NET
    Registriert seit
    26.11.2011
    Beiträge
    2.462
    Thanked 2.718 Times in 1.287 Posts
    Blog Entries
    7

  7. The Following User Says Thank You to Sky.NET For This Useful Post:

    Snees (20.03.2012)

  8. #6
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    7.887
    Thanked 9.365 Times in 3.204 Posts
    Blog Entries
    5

    Standard AW: Programmierstil

    Für mich sind die Absätze nach jeder Zeile eher Platzverschwendung anstatt Übersichtsgewinn.
    Absätze kann man nach Sinnabschnitten machen, dadurch wird langerer Code übersichtlicher, aber mit deiner Methode braucht man einfach nur doppelt soviele Zeilen, ohne dabei eine Verbesserung der Übersicht zu erzielen.
    Für Kommentare muss man auch keine Zeilen freihalten, die kann man einfügen wenn man die Kommentare einfügt, genau so wie deine Login-Methode in der du die gleichnamige einfach nur aufrufst.

    Globale Variablen sollte man nur einsetzen wo es notwendig ist, was in deinem Ausschnitt definitiv nicht der Fall ist, da die einzige Funktion welche diese benötigt auch noch Parameter hat, die man Globalen Variablen eigentlich immer vorziehen sollte. Gibt dafür einen Spruch, der hier ganz gut passt: "Variablen so lokal wie möglich und so global wie nötig deklarieren".

    Zitat Zitat von Tr0pe7 Beitrag anzeigen
    Okay, sorry Boss, ich werde nichts mehr in der Richtung posten, tut mir leid, dass ich versuche den richtigen Anfänger etwas auf den richtigen Weg zu helfen.
    Es spricht überhaupt nix dagegen wenn man sein Wissen teilt und Anfängern helfen will, im Gegenteil, das beführworte ich sogar sehr, da dies eigentlich der Sinn eines Forums ist.
    Wenn man sich hierbei aber in die Position von jemandem versetzt der anderen etwas beibringen will, sollte man natürlich selbst entsprechendes Wissen besitzen.
    Deine Anfänger denken sich dann nämlich "Hey, der macht den Eindruck als hätte er Ahnung, also mache ich das auch mal so" und schon prägt sich jemand Unsinn ein und darf sich früher oder später darüber ärgern und das ganze nochmal richtig lernen.

    Mit meinen C++ Tutorials bzw Zusammenfassungen ists doch genau das selbe. Da gucke ich auch lieber 1x mehr nach bevor ich irgendwelchen Unsinn verzapfe, oder ich mache Anmerkungen, wenn ich z.B. aufgrund der Anforderungen getch() zum warten auf einen Tastendruck verwenden (muss), obwohl das in dem Fall nicht die professionellste Lösung ist.

    Es macht einen erheblichen Unterschied ob man sagt "Hey, ich sehe viele machen das so, ich finds aber anders besser, was meint ihr dazu?" oder ob man wie du direkt sagt "Viele machen das so, das ist scheiße, guckt her, so gehts besser:". Hättest du den ersteren Fall gewählt würde auch niemand was sagen wenn deine "Verbesserungen" den Code eher verschlechtern als verbessert.


  9. The Following 2 Users Say Thank You to DMW007 For This Useful Post:

    Essah (21.03.2012), Snees (20.03.2012)

Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.