Sehr gutes Video! Werd diese Tips auf jeden Fall mal ausprobieren. Bitte mehr zu Clean Codes.
@Florian.Dalwigk4 жыл бұрын
Ausgezeichnet!
@florian21193 жыл бұрын
Bitte mehr zum Thema Clean Code sehr schön veranschaulicht
@Florian.Dalwigk3 жыл бұрын
Danke!
@GamingDeutschland3 жыл бұрын
Hahaha NEIN FLORIAN
@simonverwaltungsrat54452 ай бұрын
Super Video! Mir hat es auch sehr geholfen komplexe If Bedingungen in eine eigene Methode auszulagern. So ist der Code automatisch deutlich lesbarer. Weiter so!
@replicant7773 жыл бұрын
Sehr gutes Video! Interessante Alternative zu den switch-case statements im letzten Beispiel wären übrigens die in Java12 (finalisiert in Java14) neu eingeführten switch expressions: String message = switch (ziffer) { case 0 -> "Null"; case 1 -> "Eins"; case 2 -> "Zwei"; case 3 -> "Drei"; ... } System.out.println(message);
@Florian.Dalwigk3 жыл бұрын
Ui, die kannte ich noch gar nicht! Da mache ich vlt mal ein Video zu!
@Florian.Dalwigk3 жыл бұрын
Dürfte ich deinen Kommentar dann ggf. im Video zeigen? Ich weiß aber noch nicht, ob und wann ich dazu ein Video mache.
@replicant7773 жыл бұрын
@@Florian.Dalwigk klar, kein Problem!👍
@Florian.Dalwigk3 жыл бұрын
Super! Danke :)
@GradientTim3 жыл бұрын
Bei 1:15, würde nicht die .isEmpty() Methode besser passen? Weiß nicht was besser ist, die "null" Überprüfung oder die "isEmpty()" Überprüfung.
@Florian.Dalwigk3 жыл бұрын
Geht auch
@TinyTeaKettle3 жыл бұрын
Kannst du denn garantieren, das die Felder denn immer initialisiert sind? Ansonsten fliegt dir .isEmpty() mit einer NullPointerException um die Ohren.
@GradientTim3 жыл бұрын
@@TinyTeaKettle Da hast du natürlich recht ja. Bin aber davon ausgegangen, dass die Strings einen Wert haben.
@TinyTeaKettle3 жыл бұрын
@@GradientTim In dem Fall, wovon man selten ausgehen sollte, macht eine Überprüfung auf null sowieso nie Sinn. Das wäre ja dann das gleiche wie ein if(true) bzw. if(false)
@multigladiator3845 жыл бұрын
Ganz genau so wie ab 3:25 ! Dazu gibt es von Brian Kernighan ein Buch "Elements of Programming Style" und eine Vorlesung als Video. In diesem zeigt er mit vielen Beispielen wie man guten Code schreibt und wie nicht. Unter anderem wird da auch genau das behandelt wie hier im Video. kzbin.info/www/bejne/boS4nKWIbL-ZiqM&feature=share
@Florian.Dalwigk5 жыл бұрын
Danke für die Enpfehlung! Das werde ich mir mal anschauen. :)
@TsoiIzAlive2 жыл бұрын
Kurze Frage zu dem Erklärten Beispiel bei 3:50, müsste man das upload_to_server() nicht in den else teil beim 2. If block einfügen? Weil sonst würde der doch einfach trotzdem uploaden oder?
@danielf.71512 жыл бұрын
Durch den return Befehl wird die Funktion beendet, egal, was dahinter noch kommt.
@BenjaminBuch3 жыл бұрын
Statt Switch-Case kann man in vielen Fällen auch eine Map einsetzen. In vielen Sprachen ist das Switch Case Statement sehr stark beschränkt, da ist ein Map Datentyp eine gute und effiziente Alternative und oft ist es auch übersichtlicher, da man zum Beispiel die breaks einspart. Hängt aber letztlich vom konkreten Anwendungsfall an, was besser ist.
@Florian.Dalwigk3 жыл бұрын
Gute Alternative!
@harald4game6 ай бұрын
Maps sind halt vergleichsweise langsam und vom compiler nicht optimierbar.
@outroddet3 жыл бұрын
Sehr nices Video! Die Dinge hab ich tatsächlich auch schon bei mir erkannt und verändert!
@Florian.Dalwigk3 жыл бұрын
Klasse! Und falls man nicht alles auf Anhieb ändern kann: Lernen ist manchmal ein etwas langwieriger Prozess (vor allem, wenn man bestimmte Coding Hobbits schob seit Anbeginn seiner Karriere hat).
@ueberhaupt.niemand3 жыл бұрын
Haha extra gewartet, um den tausendsten Like auf dieses Video zu geben 😏👍 übrigens ein gutes Video
@Florian.Dalwigk3 жыл бұрын
Nice, vielen Dank 😎
@svenwaibel70073 жыл бұрын
Ist bei 3:55 die if nicht: if (!file.isMP3() || ! file.isPDF()) Sonst breche ich doch ab, wenn die Datei keine MP3 und keine PDF ist, das geht aber ja nicht, denn sie ist entweder MP3 oder PDF. Oder sitz ich gerade auf dem Schlauch?
@cedrichartz3903 жыл бұрын
Die if-Anweisung bricht nur ab, wenn die Datei weder mp3 noch pdf ist. Es werden so nur mp3 und pdf Dateien hochgeladen. Das ist also richtig.
@svenwaibel70073 жыл бұрын
@@cedrichartz390 Hast natürlich Recht, ich war gestern echt umnachtet. Heute angeschaut und mich über meinen eigenen Kommentar gewundert :)
@bluekernel24485 жыл бұрын
Hi, ich wollte dich informieren dass ich immer noch deine nicen Vids schaue, vor kurzem hies ich auf ytb noch irgendwas mit esport oder so... auf jeden fall habe ich jetzt einen geilen club gefunden und lerne jetzt richtig programmieren ((((((((:::::::::::::....
@Florian.Dalwigk5 жыл бұрын
Es freut mich, dass du noch an Bord bist :) Sehr schön! Was lernst du dort für eine Programmiersprache?
@IAmFeO2x3 жыл бұрын
Gutes Video! Das Ganze ist übrigens allgemein unter dem Namen "Guard Clauses" bekannt, zuerst veröffentlicht von Martin Fowler: refactoring.com/catalog/replaceNestedConditionalWithGuardClauses.html
@lollo47114 жыл бұрын
@3:23 - Ich bin auch ein Fan von Short-Circuit exits (return) geworden. Unter VB6 hat man immer am Ende einer Function den Return-Value gesetzt (weil die syntax eine Zuweisung über den Function-Name wollte) - oder man hat einen Default-Wert am Anfang der Function gesetzt, dann konnte man auch mit EXIT FUNCTION raus. Daher neige ich immer noch dazu, Short-Circuit RETURNs im CODE mit Kommentar dahinter zu kennzeichnen ; )
@Florian.Dalwigk4 жыл бұрын
Hihi :)
@Ciddyism3 жыл бұрын
Sehr schön. Sehr richtig. Den allseits beliebten Ternary "return x ? true : false;" (statt "return x;") hast du zwar nur indirekt (in if-Form) angesprochen, aber egal. Dass "return Ausdruck;" schneller sein kann als als "if (Ausdruck) return true else return false;" hast du verschwiegen, aber das ist inzwischen ja fast egal - solange der Compiler den Nutzer unterstützt und das nachoptimiert, um Lücken in der Pipeline zu vermeiden. Durch Java hast du wahrscheinlich den Missbrauch von switches vermieden. Ich hatte da neulich ein Gespräch mit nem Neuling über ungefähr sowas: switch (true) { case v == "a": .... break; case t == 1: ... break; }
@Bynx443 жыл бұрын
Mehr clean code Videos wären super!! :D
@Florian.Dalwigk3 жыл бұрын
Ich überlege mir, ob ich da wirklich noch ein paar Teile zu drehe :)
@andik703 жыл бұрын
irgendwie finde ich den Code bei 2:00 klarer als z.B. 2:19 zu lesen.
@barkeeper78874 жыл бұрын
Stimmbruch ist on fleek
@Florian.Dalwigk4 жыл бұрын
Da sollte ich eigentlich schon längst draußen sein :D
@barkeeper78874 жыл бұрын
@@Florian.Dalwigk xD
@jakobseitz11763 жыл бұрын
Meiner Meinung fehlt da noch ein ganz wichtiger Tipp, oft lässt sich ein Switch-Case (egal ob als If oder Switch-Case geschrieben) mit eine Generalisierung (Vererbung) vermeiden Ist meiner Erfahrung nach meistens die bessere Wahl
@Florian.Dalwigk3 жыл бұрын
Hättest du da mal ein konkretes Beispiel?
@DonDerBalken3 жыл бұрын
Eine weitere Möglichkeit If-Abfragen zu vermeiden ist zum Beispiel die Verwendung von Sealed Classes mit when. Finde das bei Kotlin extrem cool: kotlinlang.org/docs/sealed-classes.html#try-sealed-interfaces-and-package-wide-hierarchies-of-sealed-classes
@jakobseitz11763 жыл бұрын
@@Florian.Dalwigk Das ist eigentlich immer der Fall wenn man je nach Typ einen anderen Code ausführt. Der Artikel enthält ein ganz gutes Beispiel: refactoring.guru/replace-conditional-with-polymorphism
@RealKugor3 жыл бұрын
@@jakobseitz1176 das ist eine coole Webseite
@Holzf43ller3 жыл бұрын
Moin moin, erstmal geiles Video, dass es unter deutschsprachigen Programmierern sowas wie Clean Code gibt wusste ich gar nicht, das scheint im engischen Raum schon ziemlich "verbreiteterer" zu sein. Dafür schon einmal Kudos. Zu Switch-Case-Anweisungen ist zu beachten, dass diese auch nur einfachere If-Anweisungen sind. Klar kann man das ganze auch Overengineeren, aber ich habe selbst festgestellt, dass nach nen paar Wochen und Monaten einen ein Switch-Case ziemlich in den Arsch beißen kann, vor allem wenn er in einem Modul steckt, welches von woanders benutzt wird. Einfach, wie hier mag das noch gehen, wird aber ziemlich schnell unübersichtlich. Ich schreibe mir dafür dann einfach eine Klasse mit der entsprechenden Klassenfunktion und behandle darin alle Fälle, so muss ich dann nicht alle Switch-Cases durcharbeiten wenn sich etwas ändert. In diesem Fall steht dem natürlich nichts im Weg, aber ich meine hinten raus. Wenn man etwas komplexer geworden ist. MfG
@Florian.Dalwigk3 жыл бұрын
Vielen Dank für dein Feedback :)
@mastermuc03 жыл бұрын
Gibt es noch mehr Clean Code videos? Super erklärt!
@Florian.Dalwigk3 жыл бұрын
Ich plane aktuell einen zweiten Teil 😉
@schnasndasn15043 жыл бұрын
Das witzige ist, dass z.T. der Java Code vom Compiler automatisch nach deiner Regel "Error handling first" umgebaut wird. Ist mir letztens aufgefallen, als IDEA eine Klasse einer unserer internen Libraries decompiliert hat.
@xsold3 жыл бұрын
Gut, aber man sollte sich an die Allgemeinen Java conventions halten.
@Florian.Dalwigk3 жыл бұрын
Wenn das viele machen, ist es sinnvoll.
@xsold3 жыл бұрын
Stimmt auch wieder. Wenn es niemand macht, dann war diese Vereinbarung völlig umsonst.
@berthold643 жыл бұрын
oder Sie können assoziative Maps wie folgt verwenden anstatt switch statement (Bespiel im Lua): local map = { ["A"] = 10, ["B"] = 20, .... }; local input = "Hallo"; local output = map["Hallo"]; if(output == nil) then print("Fehler: ungültige eingabe"); return; end
@minastaros3 жыл бұрын
Tipp für den letzten Fall: lookup table
@Florian.Dalwigk3 жыл бұрын
Guter Tipp!
@michaelbuchholz9923 жыл бұрын
Der letzte Fall ist ja nur stellvertretend für Dinge, die Wirklich einen Switch benötigen - z.B. wenn man keine fortlaufenden Zahlen hat, sondern mal eine 1, eine 2 und die 255... Den gezeigten Fall hätte ich mit einer Liste/Array gelöst. Eine weitere Möglichkeit, wenn man eine vollständige (oder Lückenfreie) Liste hat und anhand derer unterschiedlichen nicht-trivialen Code ausführen möchte, wären Funktionspointer in einer Liste oder anonyme Funktionen - wie auch immer die in den unterschiedlichen Sprachen genannt werden. Ich kann gerade fühlen, wie einige Leute nun zu weinen anfangen, weil eben diese Methoden nicht mehr ganz so leicht zu lesenden Code erzeugen. Aber wenn für Euer Programm folgendes Soran-Zitat aus "Star Trek: Treffen der Generationen" zutrifft "die zeit ist das feuer in dem wir verbrennen", werden Knaben zu Männern und Clean-Code wird zu einem Hindernis, Eure Ziele zu erreichen!
@MiauRizius3 жыл бұрын
Ich habe bisher immer nach dem Motto "Fehlerbehebung hat Vorrang" mit If-Anweisungen gearbeitet. Mein Freund mit dem ich öfter programmiere macht das nicht, das triggerd mich immer xD
@Florian.Dalwigk3 жыл бұрын
Das fällt ihm früher oder später auf die Füße.
@AndreasDelleske3 жыл бұрын
Ich mach das auch, erst alles prüfen und return / throw. Ich hab fast keine else und fast jedes if hat ein return, ich nutze viel continue und break... Kollegen die das lesen bekommen sofort mit was die Methode nicht macht. Das enttäuscht falsche Erwartungen. Nach meinem Gefühl sind falsche Annahmen die größte Quelle von schwer zu entdeckenden Fehlern.
@julianon1613 жыл бұрын
Schade, dass es in Python keine switch Funktion gibt :/
@Florian.Dalwigk3 жыл бұрын
Das stimmt! Man kann die aber so ähnlich bauen.
@michaelbuchholz9923 жыл бұрын
Gibt es in Perl auch nicht. Hat mich nie gestört. Dafür gibt es in Perl das "elsif", mit dem man switch recht gut ersetzen kann.
@ueliriegg3 жыл бұрын
lässt sich in python ziemlich einfach mit einem dictionary lösen
@Florian.Dalwigk3 жыл бұрын
Dazu habe ich übrigens schon ein Video gemacht: kzbin.info/www/bejne/qX2ln3mNobWJpc0
@toolstime51363 жыл бұрын
Clean code ist ein wichtiger Ansatz. Aber gleichzeitig die Konventionen nicht einzuhalten finde ich dann schon recht unschön. Funktionen schreibt man in camel case und für gewöhnlich in Englisch. Eine Funktion die ein boolean zurück gibt beginnt mit "is". Besser als mit != null zu vergleichen ist den konkreten Typ zu wählen, was in der regel === undefined ist.
@florian21193 жыл бұрын
Bei 2:0 Braucht man kein IF man kann das Statment direkt zurück geben
@Florian.Dalwigk3 жыл бұрын
Siehe 2:04
@keiichitw3 жыл бұрын
Wenn man keine 4 Sekunden warten kann zum Klugscheißen
@RealKugor3 жыл бұрын
@@keiichitw hahaha alter du bist der youtube kommentat comedian 😂
@ThomasBensler3 жыл бұрын
"Schalteranweisung" ... :D . Hatte damals an der Uni einen (ziemlich alten) Prof, der immer "Kellerspeicher" gesagt hat, wenn er stack meinte. Hat ne Weile gebraucht, bis das alle Studis das gerafft hatten ...
@michaelbuchholz9923 жыл бұрын
"Sie sind aus der Programmierung nicht mehr wegzudenken und tauchen an vielen Stellen auf" Ja, Programmierung ist ein wundervolles Abenteuer. Das erinnert mich an die Zeit, als ich auf dem C 64 die Programmiersprache "C" gelernt habe und total stolz darauf war, das Prinzip von Funktionen verstanden zu haben und auch schon verschachtelte Funktionsaufrufe genutzt habe. Da habe ich mir zur Belohnung auch immer Marshmallows geröstet... Ich hab ja bis dahin nur in Assembler programmiert und dort habe ich das, was Compiler und Linker tun, alles selber machen müssen. (wir hatten ja nichts) Ach, was würde ich mir wünschen, würden die zwei ersten Semester Informatik daraus bestehen, einfache Funktionen wie Multiplikation und Division von Zahlen, die nicht in die CPU-Architektur passen, schreiben zu müssen - also z.B. 128 Bit lange Zahlen auf einer 8-Bit Architektur! Man braucht nämlich auch heutzutage noch Kalkulationen mit Zahlen, die länger sind als 64 Bit - Weitaus länger! (RSA, Diffie Hellmann, Myer's Bit-Vector Algorythmus, u.v.a.) Zum Ende des zweiten Semesters müsste die abschließende Prüfung daraus bestehen, die RSA Verschlüsselung oder den Diffie-Hellmann Schlüsselaustausch, den Huffmann- oder Arithmetischen Kompessor für eine Z80 CPU in Assembler zu programmieren. Wer das übersteht, weiß wie Computer funktionieren und nur die sollen weitermachen dürfen! Der Rest kann ja immer noch Chemie, BWL oder Hauswirtschaft studieren... Ich möchte mal ein "Clean Code" Video sehen, daß für PostScript gemacht wurde :-D :-D :-D
@Florian.Dalwigk3 жыл бұрын
Das ist eine tolle Idee 😄
@kurt7733 жыл бұрын
In den 80’ern Basic und Assembler auf C64 war lecker ;) C hätte damals zu sehr gerne gehabt.
@monoflop29373 жыл бұрын
Dem würde ich so zustimmen ;-)
@Florian.Dalwigk3 жыл бұрын
Super :)
@davidadamson1588 Жыл бұрын
Was ich mir eigentlich darunter vorstelle, wenn es um Clean Code und if-Anweisungen geht: if-Anweisungen so weit es geht durch polymorphe Methodenaufrufe ersetzen. Und if-Anweisungen hauptsächlich in Factories benutzen, um zu entscheiden, welche polymorphe Implementierung erzeugt werden soll. Resultat: Komplexe if-Anweisungen verschwinden von ganz allein und verteilen sich auf unterschiedlich ausgeprägte Unterklassen. Zudem wird das Open-Closed-Prinzip gefördert 🔥 (vgl. Martin, 2009: Clean Code, S. 299)
@Florian.Dalwigk Жыл бұрын
👍
@lebusiness28473 жыл бұрын
Statt dem Schalterblock wäre in dem Fall ein Dictionary sauberer gewesen und dann einfach print(dict[ziffer])
@Florian.Dalwigk3 жыл бұрын
Hätte man auch machen können
@tomte22833 жыл бұрын
4:24 Python gerade: 👁️💧👄💧👁️
@Florian.Dalwigk3 жыл бұрын
:D
@jensspahn25114 жыл бұрын
4:05 lol^^ nur schwarzer bildschirm
@Florian.Dalwigk4 жыл бұрын
? 😅
@Florian.Dalwigk4 жыл бұрын
Ja mei 😅
@jensspahn25114 жыл бұрын
@@Florian.Dalwigk alles gut : ) deine videos sind sehr gut und hochwertig man lernt echt was Eine Frage hast du dieses eine Hacker Mythen Cybersicherheit wegen den ganzen anderen Vorfaellen runtergenommen?
@Florian.Dalwigk4 жыл бұрын
Ja, leider. Ich werde das Video aber nochmal YT freundlich aufnehmen und hochladen ;)
@entjic54083 жыл бұрын
Hey, schönes Video c: Wer sich damit ausführlicher beschäftigen will dem kann ich „Clean Code“ von Robert C. Martins empfehlen
@Florian.Dalwigk3 жыл бұрын
Diese Empfehlung empfehle ich ebenfalls 😉
@saecula2391 Жыл бұрын
sehr schönes Video .. meist kommen die Anforderungen im echten Entwickler-Leben aber zeitversetzt, dh. man hat eine if-Anweisung und muß weitere voneinander abhängige Bedingungen einbauen ohne dabei bestehenden funktionieren Code zu gefährden (da auch niemand da ist der die Änderungen am Ende testet *g) .. dh. man geht auf Nummer sicher (und nicht nach Schönheit des Codes) um den Produktiv-Betrieb nicht zu gefährden ... dann entsteht zwangsläufig "historisch gewachsener verschachtelter" Code .. den man aber nach 3-4 Jahren noch lesen kann wenn wenn man sich ein paar Kommentare dazu schreibt
@Florian.Dalwigk Жыл бұрын
👍
@marcusreinicke3 жыл бұрын
Tolles Video, aber mit dem Switch bin ich nicht einverstanden. In Clean Code sollte man auf Switch cases verzichten. Switch cases machen den den Code u.u. extrem unlesbar. Zusätzlich widersprechen sie, dem Prinzip, dass jede Methode nur eine Aufgabe haben darf. Mein Tipp Switch cases durch Dictionary ablösen. Wesentlich sauberer und verständlicher. Vor allem wenn man durch Schnittstellen entkoppelt.
@Florian.Dalwigk3 жыл бұрын
Da hat Python alles richtig gemacht. Hier gibt es NUR Dictionaries und keine Switch Cases.
@berndeckenfels3 жыл бұрын
Man sollte noch erwähne dass lokale result Variablen die in diesem verschachtelten branches gesetzt werden (oder initial null wenn kein Fall zutrifft) das ganze noch verschlimmern und öfters mal zu null Rückgabe und dann nullpointerexceötkons. Führen. We nn man auf null Rückgaben nicht verzichten will, dann wenigstens in allen guards explizit „return null;“ schreiben, und nicht „Objekt result = null; if(guard()) return result;} In den Fall hilft es auch Variablen generell nicht auf null zu initialisieren wen man davon ausgeht alle Fälle in if/else abzudecken.
@__-kd8oz3 жыл бұрын
Guten Tag
@Florian.Dalwigk3 жыл бұрын
Hi
@michelbruns3 жыл бұрын
Wenn man if{ } Benutzt und nicht If { }
@Florian.Dalwigk3 жыл бұрын
Ich sehe es genau anders herum!
@TinyTeaKettle3 жыл бұрын
Und letztendlich gilt doch im Normalfall: Es ist das richtig, was die Firma vorgibt. Stichwort Styleguides.
@jhonnatanwalyston66453 жыл бұрын
Why was thia recommended to me? I don't speak german
@Florian.Dalwigk3 жыл бұрын
I don't know. YT algorithm is an enigma.
@Tabaskuh3 жыл бұрын
Einfach kein if/else benutzen, dann hat man die Probleme nicht. Ja, etwas provokant, aber meistens geht es auch ohne (-:
@Florian.Dalwigk3 жыл бұрын
Hehe ... ja, man kann wirklich oft darauf verzichten.
@Tekay373 жыл бұрын
Gar nicht provokant, sondern genau richtig. In meinem Job tue ich genau das: ich versuche, if so oft es geht zu vermeiden und else benutze ich nie. Sehr viele if(-else) Anweisungen existieren nur, weil der Programmierer keine neue Klasse erstellen wollte, obwohl das die bessere Option gewesen wäre. Es gibt dazu hier auf YT einen weunderbaren Vortrag von Sandi Metz ("all the little things"), in der sie das "Gilded Rose" Kata bespricht. Amfang des Vortrages steht eine if-else-Hölle, die keiner mehr durchblickt, am Ende stehen viele kleine Objekte und leicht verständlicher code, der sich einfach um neue Funktionalität erweitern lässt.
@Florian.Dalwigk3 жыл бұрын
Poste gerne mal den Beitrag.
@Tekay373 жыл бұрын
@@Florian.Dalwigk Der hier ist es: kzbin.info/www/bejne/bpO9mWiCgsaGo6c "Nothing is something" geht in bisschen in die gleiche Richtung (gegen if/else), behandelt aber einen anderen Fall, der für viele if/else im code sorgen kann: kzbin.info/www/bejne/hX6zl3iOftGHjKc
@Tabaskuh3 жыл бұрын
@@Tekay37 Das ist schon richtig, aber ohne if geht es halt leider nicht. Deshalb mein "provokant" (-:
@uzuark72213 жыл бұрын
Instagram ist nice
@Florian.Dalwigk3 жыл бұрын
Joaaaa
@marcotroster82472 жыл бұрын
Ein weiterer Tipp: Wenn man sicherstellen kann, dass die Funktion immer mit validen Argumenten aufgerufen wird, kann man die Fehlerbehandlung weglassen 😉 Hört sich erstmal super banal an, aber die die mehr Erfahrung haben, wissen wovon ich rede 😂 Log-and-Throw Pattern at it's best 🙃
@Florian.Dalwigk2 жыл бұрын
👍
@Pnunkll3 жыл бұрын
@Simplicity47113 жыл бұрын
Eigentlich ganz gutes Video. Aber Switch Case würde ich keinem mehr empfehlen. Das ist ein Relikt, das es zu vermeiden gilt (gerade das unschöne explizite break; welches erforderlich ist und der implizite Fallthrough macht switch case ziemlich hässlich). Besser auf ein Mapping zurückgreifen.
@Florian.Dalwigk3 жыл бұрын
Gute Hinweis!
@hansdietrich833 жыл бұрын
"If anwesungen sind aus der Programmierung nicht mehr wegzudenken" ich glaub mein Hirn schimmelt. If Anweisung sind die Definition von Digitaltechnik. Jeder transistor ist eine if Anweisung. Programme funktionieren nur wegen if Anwesungen. Ohne conditional jump ist eine maschiene nicht Turing komplett. Du hättest diesen Satz über jedes Andere feature sagen können, nur nicht über if Anweisungen...
@Florian.Dalwigk3 жыл бұрын
Und wo ist jetzt das Problem, dass man überall if-Abweisungen braucht?
@hansdietrich833 жыл бұрын
@@Florian.Dalwigk der ganze Satz macht keinen Sinn. "Zinken sind von modernen Gabeln nicht mehr wegzudenken" macht auch keinen sinn...
@Florian.Dalwigk3 жыл бұрын
Ok, wenn du das so siehst.
@okdoomer6203 жыл бұрын
@@hansdietrich83 Naja, ganz so ists auch nicht, man kann Verzweigungen auch per switch case umsetzen, wie im Video gezeigt, per pattern matching oder if expressions, ternärem operator usw... chill mal
@keiichitw3 жыл бұрын
Beispiel Kommentar um Leuten zu zeigen, was man unter ,,Deutsch“ versteht. Einfach ein Stock im Arsch zu haben ^^
@Mabowle4 жыл бұрын
Das letzte Beispiel gehört auf jeden Fall mit einer Mapping-Tabelle (z.B. assoziatives Array, dictionary) gemacht, bitte weder if noch switch für sowas...
@Florian.Dalwigk4 жыл бұрын
Kann man machen ...
@Mantikor3333 жыл бұрын
Leider wird (bei uns zumindest) auch heute noch auf der MISRA Regel "Nur ein return statement am Ende einer jeden Funktion" herumgeritten. Ich kann den Sinn dieser veralteteten Regel in der heutigen Zeit einfach nicht mehr erkennen und bin ebenso deiner Meinung, dass der Code so besser zu lesen ist. Selbst mit einer lokalen Variable für einen return code entstehen redundante Codezeilen die für den Betrachter unnötig sind.
@Florian.Dalwigk3 жыл бұрын
Ja, diese Regel sorgt nicht selten dafür, dass man unsinnige Workaround drumherum bauen muss.