Gangstersheep (20.03.2012), rVs14 (20.03.2012), Sky.NET (20.03.2012)
Thema: Programmierstil
-
20.03.2012, 20:27 #1
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
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
LGGeändert von Snees (20.03.2012 um 21:49 Uhr)
-
20.03.2012, 20:35 #2
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.
-
The Following 3 Users Say Thank You to Ta1lor For This Useful Post:
-
20.03.2012, 20:39 #3
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
-
20.03.2012, 20:48 #4
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.
-
20.03.2012, 21:02 #5
AW: Programmierstil
-
The Following User Says Thank You to Sky.NET For This Useful Post:
Snees (20.03.2012)
-
20.03.2012, 21:42 #6
- Registriert seit
- 15.11.2011
- Beiträge
- 7.887
- Blog Entries
- 5
Thanked 9.365 Times in 3.204 PostsAW: 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".
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.
-
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.