Latest / Coding Buddies | Tech & Dev-Mindset / Clean Code #1 - Die Reise beginnt
Transcript
- 0:00Liebe Zuhörerinnen und Zuhörer, falls ihr wissen wollt, wie man
- 0:03Aktenordner richtig gut perfekt sortiert, dann kauft unser Buch
- 0:07Dummies. Wie heißt das, diese Dummy Reihe
- 0:10genau clean Folders for Dummies by Calling Boys.
- 0:16Coating Boys, Dein Podcast rund um Softwareentwicklung und
- 0:18aktueller Tech News. Herzlich Willkommen.
- 0:32Ja, einen wunderschönen guten Morgen, guten Nachmittag, guten
- 0:36Abend. Je nachdem wann du diese Folge
- 0:38hier hörst. Schön, dass du wieder
- 0:39eingeschaltet hast. Zur neuen Folge des Coding
- 0:41Bodyspodcasts natürlich wieder mal mit dabei, meine Wenigkeit,
- 0:44der Tino und auch wieder mal der fantastische Fabi.
- 0:48Moin Fabi, grüß dich. Morgen Tino.
- 0:51Hi, wie? Geht's ab.
- 0:55Was geht? Nochmal so die Signatur
- 0:57Begrüßung. Was geht ab?
- 0:59Hallihallo. Geht's dir gut, hast du Bock?
- 1:04Ja, mir geht's gut, übelst kalt. Geworden.
- 1:06Ich muss die Heizung hochdrehen hier.
- 1:10Oh oh, oh, jetzt, jetzt ist es soweit.
- 1:12Naja gut, es ist das Jahr sehr fortgeschritten, manche munkeln
- 1:17schon nahezu zu Ende. Da kann es auch mal kalt werden
- 1:22draußen. Wir hatten ja auch schon den
- 1:24ersten Schnee. Wie hieß ja gut, was bräuchte
- 1:27ich nicht? Fragen die du zu Schnee stehst.
- 1:29Das hatten wir auch schon ein paar Mal thematisiert.
- 1:31Das bedeutet natürlich auch. Ist die Wintersaison nahe ist
- 1:35und für viele ja auch schon begonnen hat.
- 1:37Ich sag mal so Schnee in den Bergen ist OK, aber wer braucht
- 1:39es denn im Flachland? Ja OK ja gut, hast du recht.
- 1:44Also im Alltag kann es ja auch echt nervig sein.
- 1:46Das ist wie im Sommer. Also am Strand können es gerne
- 1:49über 30 Grad sein, aber. Im Alltag könnt es gefälligst im
- 1:53Sommer nur 20 Grad sein im. Winter auch.
- 1:56Also ich hab das Gefühl, du hast nur ganz ganz wenig Anspruch
- 2:00immer an solche Themen. Ich brauch nicht viel, nur 20.
- 2:03Gramm zu Hause am strand 30. Richtig, ja.
- 2:11Pass auf, wir haben uns ja was ganz cooles meiner Meinung nach
- 2:14überlegt und zwar wollen wir heute.
- 2:18Ja, ein Tagthema starten. Also es soll heute wieder.
- 2:23Ja, um die Softwareentwicklung an sich gehen, aber wir werden
- 2:27ja, ich finde es auch mega geil. Wir werden aber ein größeres
- 2:31Thema aufmachen quasi, und da hatten wir uns ja überlegt, dass
- 2:34wir eine ganze Reihe daraus machen und deswegen würde ich
- 2:37sagen, machen wir heute so gesehene Einführungsfolge dazu,
- 2:41damit die Zuhörerinnen und Zuhörer wissen, worum es so
- 2:44gehen kann oder soll in den nächsten Folgen, und dann werden
- 2:47wir halt immer mal wieder zu dieser Reihe eine Folge
- 2:50einstreuen. Wie stehst du dazu, wollen wir
- 2:53das so machen? Klar.
- 2:55Aber ich n ganz cooler Plan, oder?
- 2:58Heißt der Bernd Walter Was? Ja, ich.
- 3:00Glaube schon, also. Worum geht es denn?
- 3:05Also. Wir haben uns ja ein
- 3:08wunderschönes Thema rausgesucht. Und zwar halte ich fest, es geht
- 3:12um Cleancode. Geil, lass es kurz wirken, kurz
- 3:17wirken lassen, Open cleancode weil Cleancode ist in aller
- 3:21Munde, wenn es um Softwareentwicklung geht und
- 3:23auch schon seit sehr, sehr vielen Jahren.
- 3:25Und mich würde einfach mal interessieren, so als lockeren
- 3:29Einstieg. Wie du das siehst
- 3:32beziehungsweise was du unter Cleancode verstehst und würde
- 3:35einfach so meinen Senf mal dazu beitragen und mal n bisschen
- 3:38drauf eingehen, was du so sagst, so dass wir einfach da mal n
- 3:41bisschen locker drüber reden können.
- 3:44Und hoffentlich am Ende der Folge jeder Zuhörer und jede
- 3:49Zuhörerin weiß, worum es denn so in den zukünftigen Folgen zu dem
- 3:52Thema gehen kann und wird. Ja, nicht gut.
- 3:57Ja, was ist Cleancode für mich? Also beziehungsweise können ja
- 4:02erst mal ein bisschen darüber reden.
- 4:06Was das quasi generell so n bisschen ist.
- 4:09Also wenn man jetzt zum Beispiel sagt, OK, also ne Code ist ja
- 4:13nicht unbedingt gleich Code, also es gibt ja ich lehn mich
- 4:16jetzt mal sehr weit aus dem Fenster, guten Code und
- 4:19schlechten Code beziehungsweise. Code, der eher gut ist oder eher
- 4:23schlecht? Weil was ist schon gut und was
- 4:25ist schlecht? Und bei also du kannst ja
- 4:30irgendwie Code schreiben, du kannst ja einfach keine Ahnung
- 4:33dir sagen okay, ich muss jetzt irgendeinen Algorithmus
- 4:35implementieren oder eine Anwendung schreiben und das
- 4:40kannst du halt theoretisch sagen.
- 4:42Ich mache das jetzt einfach, ich schreibe das runter und dann
- 4:46funktioniert es hoffentlich und dann war es das so, das kann man
- 4:50ja so ist kannst du ja rangehen, die ganze Geschichte.
- 4:55Also im Prinzip meinst du damit, dass es ja so gesehen.
- 4:59Eine Handschrift gibt eines Coders finde ich immer ganz
- 5:02nett. Die Formulierung hat mir auch
- 5:03mal eine Folge zu gemacht, also jeder hat ja so gewisse Art und
- 5:06Weise, wie er Sachen gerne implementiert.
- 5:09Ja, und das meintest du jetzt wahrscheinlich mit gut schlecht,
- 5:12weniger gut, weniger schlecht, weil das ist ja schon irgendwo,
- 5:16was auch eine persönliche Eigenschaft beziehungsweise ein
- 5:18persönlicher Stil, aber worauf du ja denke ich mal hinaus
- 5:23möchtest ist cleanco Umfang ja gewiss.
- 5:27Nieren würde diesmal nennen, ja die quasi belegen oder dafür gut
- 5:35sind um besseren Code schreiben zu können.
- 5:38Naja was ich meine ist zum Beispiel genau.
- 5:39Also es ist ja, du kannst ja sagen, ich schreib jetzt
- 5:42irgendwie meinen Code runter und der kann ja durchaus funktionell
- 5:44richtig sein. Und Cleancode ist, sagen wir
- 5:49mal, also kannst du ja so sehen wie eine Art Kunst, um den Code
- 5:55so zu schreiben, dass er quasi auch, ich sage jetzt einfach mal
- 5:59nachhaltig verwertbar ist. Mal n bisschen runtergebrochen.
- 6:04Ja, weißt du, also genau das sind dann für dich jetzt in dem
- 6:08Moment keine funktionalen Anforderungen an die Software an
- 6:12sich, dass zum Beispiel das richtige Ergebnis rauskommt,
- 6:14sondern du bist jetzt auf der Ebene.
- 6:18Dass es nachhaltig geschrieben ist und halt gewisse Kriterien
- 6:22erfüllt. Dieser Code, den du geschrieben
- 6:25hast. Genau.
- 6:26Also ich sag jetzt einfach mal, ich werf kann ja mal n paar
- 6:29Stichpunkte rein werfen, wie zum Beispiel die Lesbarkeit des
- 6:33Codes, die Wiederverwertbarkeit, Wartbarkeit und solche Sachen.
- 6:37Ne, also das ist ja wichtig. Also du kannst ja Code schreiben
- 6:40der theoretisch funktioniert und das tut oder macht was er tun
- 6:45soll, heißt aber noch lange nicht, dass wenn ich zum
- 6:48Beispiel diesen Code schreibe, der vielleicht richtig
- 6:50funktioniert, aber du kannst ihn ZB überhaupt nicht lesen, kannst
- 6:54damit gar nichts anfangen, dann bringt dieser Code im Endeffekt
- 6:56nicht wirklich. Viel.
- 7:00Angenommen, man arbeitet vielleicht auch im Team
- 7:03zusammen. Jetzt vielleicht genau das.
- 7:05Das ist halt auch schon echt ein cooler Stichpunkte im Team.
- 7:10Arbeiten, weil gerade angenommen, du schreibst jetzt
- 7:14für dich komplett alleine ein Programm, irgendeine Software,
- 7:17irgendwelche Funktion, was auch immer.
- 7:20Dann ist es natürlich erstmal in erster Linie dir überlassen, wie
- 7:23du das ganze Programmierst, wie du den Code aufbaust.
- 7:28Sachen Benennst beispielsweise. Das kannst du ja dann machen wie
- 7:31du willst. Du kannst es ja auch komplett
- 7:33kryptisch machen, wenn es am Ende funktioniert, ist es ja für
- 7:35dich soweit erstmal in Ordnung ist natürlich die Frage, ob das
- 7:41nicht, auch wenn man alleine codated Sinn macht, sich an
- 7:45gewisse Richtlinien zu halten. Spoilerwarnung ja, aber da
- 7:49können wir auch gleich noch mal drauf eingehen, aber
- 7:52grundsätzlich hast du natürlich recht, es ist ja hauptsächlich
- 7:55auch ein Punkt der Teamfähigkeit, also dass der,
- 7:58dass die Software im Team weiterentwickelt werden kann,
- 8:01weil beispielsweise. Die Erweiterbarkeit der Software
- 8:06ist halt ein riesen Punkt. Angenommen du schreibst jetzt
- 8:09die ersten den ersten Teil der Funktion und ich möchte quasi um
- 8:13gewisse Funktionalitäten das ganze ergänzen und nehmt deinen
- 8:17Code als Grundlage und verstehe ihn einfach gar nicht, weil die
- 8:20Variablen ganz komische Namen haben.
- 8:24Sowas wie Tino weiß nicht, was hier drin steht als integer.
- 8:29Sowas keine Ahnung, weißt du also.
- 8:31Ja oder Zeit, irgendwas nicht mit der Einheit zu beschriften,
- 8:35weil dann könnte es ja zum Beispiel, es könnten
- 8:37Millisekunden sein, es könnten Sekunden sein, es könnten
- 8:39Stunden sein, weiß es nicht genau.
- 8:41Ja, also da gibt es genau da gibt es ja verschiedene
- 8:44Herangehensweisen und da ist halt auch immer die Frage, was
- 8:47man persönlich auch mag, es gibt ja unterschiedliche
- 8:49Lösungsansätze, nenne ich es mal.
- 8:52Aber grundsätzlich bin ich da ganz bei dir, dass es halt
- 8:54extrem in die Erweiterbarkeit und Wartbarkeit rein spielt und.
- 9:01Ja, warum das alleine halt auch Sinn macht.
- 9:03Angenommen man würde selbst dieses Feature erweitern, was
- 9:06ich gerade meinte. Was kann denn passieren, wenn du
- 9:09jetzt 4 Wochen später sagst, ach das war ganz cool, aber mir
- 9:13fehlen jetzt noch so ein paar Funktionalitäten, ich werde
- 9:15jetzt mal folgende Klasse erweitern.
- 9:19Auf was für Probleme kann ich denn da stoßen?
- 9:22Ja, ich mein. Also im im Endeffekt hat das
- 9:24Glaube ich, also angenommen, jemand, Zuhörer, Zuhörerinnen
- 9:30kennen das Problem, wenn sie schon öfter mal auch einfach
- 9:32Code geschrieben haben und vielleicht auch für sich Code
- 9:35geschrieben haben und sich und sich irgendwann mal im Verlaufe
- 9:40der Programmierzeit, in der man also in der Zeit, in der man
- 9:43halt auch programmiert hat, also in seiner Lebenszeit sozusagen,
- 9:46also jetzt nicht, aber genau in der Zeit, du weißt was ich
- 9:49meine. Dass jeder sich mal irgendwie
- 9:51vielleicht, also dass jeder mal auf diesen Punkt gekommen ist,
- 9:55dass man auf den eigenen Code guckt und sich denkt, was habe
- 9:57ich denn hier gemacht, was steht denn da für ein Mumpitz?
- 10:02Und spätestens an solchen Punkten, wenn man da mal
- 10:06angekommen ist. Zumindest kenne ich das so, dass
- 10:09ich mir dann dachte, so, boah ey, ich muss hier irgendwas
- 10:11ändern, also ich habe das auf jeden Fall schon gehabt, dass
- 10:13ich mir irgendwas geschrieben habe und halt nicht mehr genau
- 10:17wusste, was da dann passiert. Angenommen, ich habe es mir
- 10:19vielleicht mal einen Monat nicht angeguckt, da ist natürlich echt
- 10:22schlecht. Aber wenn man sie jetzt also.
- 10:28Weil ich das auch noch mal Challenge will.
- 10:29Also klar für alleine, wenn du alleine deinen Code schreibst,
- 10:32sollte man es auch machen, aus mindestens dem Grund, den ich
- 10:35gerade genannt habe, würde ich sagen, auf der anderen Seite,
- 10:39wenn du dir Softwareentwicklung heutzutage anguckst, dann bist
- 10:42du ja eigentlich im seltensten Fall an dem Punkt, wo du
- 10:45Software wirklich alleine schreiben kannst.
- 10:47Also gerade wenn es jetzt zum Beispiel in der Industrie ist,
- 10:52sage ich jetzt mal, da hast du ja schon meistens Teams, in
- 10:55denen du arbeiten musst. Einfach weil Software
- 10:57mittlerweile so komplex ist. Dass du einfach meistens Teams
- 11:02brauchst, um Software zu entwickeln.
- 11:05Das heißt, selbst wenn du für dich alleine natürlich cleancode
- 11:08Cleancodest nenne ich es jetzt mal.
- 11:13Ist es ja trotzdem wichtig, dass du das, also du kommst
- 11:16irgendwann wahrscheinlich zwangsläufig in diese Situation,
- 11:19dass du mit anderen Leuten zusammencodest.
- 11:21Und da hilft es dir einfach schon, auch alleine clean zu
- 11:24coden. Einfach.
- 11:28Zu üben. Ja, genau das finde ich.
- 11:31Ist nämlich ein wichtiger Punkt das Ganze.
- 11:34Zu verinnerlichen und zu üben, weil wir haben ja auch einige
- 11:39Zuhörerinnen und Zuhörer, Zuhörer, die jetzt quasi ne
- 11:42Ausbildung sind oder im Studium und wenn ich so an unser Studium
- 11:46denke, hat man da schon viel alleine gecoded man hatte zwar
- 11:49so ein paar Teamprojekte, aber so Übungsaufgaben im Bereich der
- 11:53Programmierung hat ja jeder für sich selbst gecodet und aus
- 11:57meiner Erfahrung muss ich sagen, habe ich da schon ziemlich
- 12:00unsauber programmiert. Also mir war eigentlich wichtig,
- 12:03dass es irgendwie die richtigen Ergebnisse Rauswirft am Ende und
- 12:05ich die Aufgabe bestehe so gesehen hab.
- 12:09Ich wirklich darauf geachtet, dass das alles.
- 12:12Gewissen Standard entspricht, den es entsprechen sollte und
- 12:16hätte ich dann später das erweitern müssen oder noch mal
- 12:19drauf gucken müssen, wäre ich da wahrscheinlich auch Probleme
- 12:21gekriegt und deswegen finde ich es cool, dass du sagst, das ist
- 12:23ja auch eine gewisse Art von Übung.
- 12:25Ist das zu verinnerlichen und man da halt auch bei solchen
- 12:28kleinen Themen schon mit anfangen kann, einfach nur sich
- 12:30darüber Gedanken zu machen halt auch.
- 12:32Definitiv. Also ich kenne das ja auch, bei
- 12:34mir war es genauso. Ich habe im Studium ja auch
- 12:37absolut gar keine Gedanken über Cleancode gemacht, man muss aber
- 12:40auch ein bisschen dazu sagen, dass gerade wenn man anfängt mit
- 12:44der Programmierung. Weiß ich auch nicht ob.
- 12:49Das selbst wenn ich dieses Wissen hätte.
- 12:53Was ich auch am Anfang im Studium auch überhaupt nicht
- 12:55hatte, würde ich mich trotzdem fragen, ob ich an der Stelle,
- 12:59wenn ich quasi das wissen, das theoretische Wissen darüber
- 13:01hätte, aber quasi nicht das Wissen über die
- 13:03Softwareentwicklung, so nach dem Motto Du musst Clean Coden, das
- 13:06ist besser, aber wenn du nicht weißt, was genau, also wenn du
- 13:11sozusagen noch nicht geübt bist in der Softwareentwicklung und
- 13:13noch sehr, sehr wenig softwareentwicklungserfahrungen
- 13:16gemacht hast, dann. Nicht, ob man da wirklich sich
- 13:20hinstellt und sagt, Na ja, ich mach jetzt auch wirklich
- 13:22cleancode hier, weil. Am Anfang ist es halt voll
- 13:26schwierig, überhaupt erst mal ein Programm zu schreiben,
- 13:29jedenfalls aus meiner Erfahrung, was das tut, was es tun soll.
- 13:34Und da wurde es auch am Anfang relativ schnell komplex im im
- 13:37Studium. Und das waren für mich halt so
- 13:40Dinge, wo ich mir dachte, so. Also wenn mir damals jemand
- 13:44gesagt hätte. Ich würd dir wirklich raten
- 13:48cleancode mal anzuwenden, dann würd ich sagen echt ganz ehrlich
- 13:53ich ich muss ja erstmal zurande kommen, weißt du?
- 13:57Auch wenn es. Sinnvoll ist ja.
- 13:59Also ich sag mal, es gibt ja, das umfasst ja, deswegen machen
- 14:02wir auch mehrere Folgen daraus, viele Themen und es gibt halt
- 14:06Themen, die relativ leicht umzusetzen sind, aber halt auch
- 14:10schwer zu meistern sind, beispielsweise sowas wie
- 14:14Variablennamen Funktionsnamen, die sinnvoll zu belegen, das
- 14:18klingt einfach ja gut, dann achte ich halt darauf, aber das
- 14:21ist eine sehr, sehr schwierige Sache und erfordert Zeit, da
- 14:24richtige Namen zu finden und das finde ich, sind Sachen, die kann
- 14:27man halt schon früh üben, aber ansonsten bin ich natürlich ganz
- 14:30bei dir. Du willst natürlich erstmal
- 14:32Lösungen kriegen. Du weißt ja noch gar nicht wie.
- 14:35Also du lernst ja das Programmieren erst und dann
- 14:37willst du ja nicht zusätzlichen Ballast haben und sagen, ich
- 14:40muss jetzt hier darauf achten und darauf achten, ja verstehe
- 14:44ich, valider Punkt. Aber ich denke, dass man
- 14:48frühzeitig ruhig mal sich mit dem Thema auseinandersetzen
- 14:51sollte. Ja, es.
- 14:53Ist ja, ist ja genauso wie mit dem Thema testen, worüber wir
- 14:55auch schon gesprochen haben. Also du wirst jetzt nicht die
- 14:58erste. Das erste Hello World testen.
- 15:02Aber frühzeitig damit anfangen macht halt einfach Sinn und das
- 15:06ist n guter Vergleich, da hast du.
- 15:07Recht Übung macht den Meister, das ist auf jeden Fall Fakt und
- 15:10wir wollen das ja auch. Allen, die vielleicht da noch
- 15:14nicht so den Gedanken drüber verschwendet haben, über
- 15:18Cleancode auch das ganze Mal ein bisschen schmackhaft machen und
- 15:20motivieren. Warum also in unsere in unserer
- 15:23Cleancode Reihe sozusagen? Auch zu motivieren, warum das
- 15:28wirklich interessant und wichtig sein kann, das zu machen, ne,
- 15:32und da hoffen wir natürlich auch, dass auch Leute, die
- 15:35gerade im Anfängerbereich sich bewegen, genau auch zum Beispiel
- 15:40schon mal diese Low hanging fruits mitnehmen, wie ZB.
- 15:45Darüber nachzudenken, wie eine Variable heißen könnte,
- 15:48sinnvoll, finde ich, ist ein guter Punkt.
- 15:50Also das sind Sachen, da kann man auf jeden Fall schon mal mit
- 15:53anfangen und sich dann quasi sukzessiv hocharbeiten, auch mit
- 15:56dem eigenen Skill Level mitgehen.
- 15:59Ja, auf jeden Fall. Ein anderer Punkt, den du gerade
- 16:02noch genannt hast, würde ich gerne auch nochmal darauf
- 16:04eingehen und zwar meintest du ja, testen sollte man ja auch
- 16:06frühzeitig anfangen, aber vielleicht halt nicht wie
- 16:08gesagt, beim ersten Programm bin ich ganz bei dir.
- 16:12Wie siehst du denn Cleancode? Also das ganze Thema in Bezug
- 16:17auf Testing? Da auch Vorteile mit sich.
- 16:21Also schon ist auch n Thema, was wir bestimmt auch noch mal n
- 16:26bisschen näher behandeln können, weil Cleancode an sich zielt ja
- 16:30auch darauf ab, dass Code testbar ist, ne?
- 16:33Es gibt ja durchaus eine Möglichkeit.
- 16:37Code zu schreiben. Der zwar richtig funktioniert,
- 16:42den du aber überhaupt nicht gut abtesten kannst.
- 16:46Ja, gerade wenn man öfter mal ein bisschen mit Software testen
- 16:50zu tun hat und das Mal gemacht hat, zum Beispiel Tdd, dann hat
- 16:54man bestimmt schon mal die ein oder andere Implementierung,
- 16:57oder die sag ich mal, den Implementierungswillen gehabt,
- 17:00wo man sich dachte, so scheiße, wie soll ich das jetzt abtesten
- 17:04und das ist halt im Endeffekt schon mal so ein kleiner Spoiler
- 17:08dafür, dass man vielleicht dann auch weiß, an der Stelle okay
- 17:12hier geht noch, hier geht's noch ein bisschen Cleaner.
- 17:16Ja, weil da ist halt einfach die Gefahr da, wenn man halt quasi
- 17:19nicht auf sowas achtet, dass man halt so extrem spaghetticode
- 17:23erzeugt oder oder so eine riesen Black Box Monster, da steht eine
- 17:28Software, die macht irgendwie was sie soll und du versuchst
- 17:30das Abzutesten findest aber gar keine Testpunkte mehr, so würde
- 17:34ich es jetzt mal beschreiben. Also du weißt gar nicht mehr, wo
- 17:37kann ich denn jetzt irgendwie auf Sachen zugreifen, wo kann
- 17:41ich Sachen abfangen, wie kann ich jetzt überhaupt mit meiner
- 17:44Testumgebung da einwirken drauf und das ist halt ein sehr
- 17:47gefährliches Punkt, gerade wenn du sage ich mal auch extrem viel
- 17:50Abhängigkeit erzeugst, dass du sagst ich möchte jetzt zum
- 17:53Beispiel der. Klasse A testen a verdammte und
- 17:56klasse a brauch aber klasse BCDE und so weiter dann wird s halt
- 18:01richtig richtig hässlich am Ende und genau und wenn man halt sag
- 18:06ich mal so n bisschen diese ganze cleancode Bewegung.
- 18:09Ich würd s auch Bewegung nennen, weil das ja so n richtiger Hype
- 18:11der da auch ausgebrochen ist mal verfolgt und sich mal damit
- 18:14auseinandersetzt hilft das auf jeden Fall um die Testbarkeit zu
- 18:18erhöhen, deswegen find ich das ein ganz cooler Punkt, dass du
- 18:20den angesprochen hast. Hattest.
- 18:24Malen sag ich mal ne Art Problem oder Herausforderung, die sich
- 18:29irgendwie bei dir mal ergeben hat, weil vielleicht irgendwie
- 18:33eben nicht cleancode. So wie man es vielleicht kennt.
- 18:38Zum Einsatz gekommen ist. Bist du jetzt noch auf der
- 18:43Testschiene, also beim Testen oder?
- 18:45Ja, es gibt ja viele Möglichkeiten, welche Probleme
- 18:49dadurch entstehen könnten. Also mach.
- 18:51Dir was aus. Genau also was ich finde, was
- 18:54ganz schnell ein Problem wird und was auch so ein Bereich ist,
- 18:58wo cleancode Reinspielt ist, dass diese Verständlichkeit und
- 19:02die Lesbarkeit des Codes. Und da bin ich schon oft
- 19:07reingetappt, gerade wenn man anfängt, nachgiebig zu werden.
- 19:11Also du fängst an, wie ich glaube, das kennen halt auch
- 19:13ziemlich viele. Du fängst an und setzt neues
- 19:17Projekt auf. Du willst ein neues irgendwas
- 19:19umsetzen, also willst jetzt zum Beispiel eine neue App schreiben
- 19:22oder ja neues Programm allgemein, du fängst an und du
- 19:27bist hochmotiviert und du fängst an richtig sauber zu Coden,
- 19:29schreibst auch Tests dazu ist es abgetestet es ist richtig
- 19:32astrein, wirklich Lehrbuch. Klingt fantastisch, aber.
- 19:35Ja, es klingt super. Und dann kommt immer mehr
- 19:37Features rein, dann kommt vielleicht sogar ein bisschen
- 19:39Druck. Ah, ich muss noch schnell was
- 19:40fertig machen. Wie es halt so ist.
- 19:44Und dann, wenn du dann nachlässig wirst.
- 19:46Und das ist echt ne Gefahr und dann halt nicht mehr drauf
- 19:49achtest und schnell Sachen reinhackst sag ich mal und dann
- 19:53wird es halt immer mehr und dann kann halt einfach entstehen,
- 19:56dass du. Ne Software schaffst die nicht
- 19:59mehr lesbar ist, die nicht mehr wartbar ist und das in die Falle
- 20:02bin ich schon sehr oft getappt. Und dann hast du halt das
- 20:06Problem. Ja OK, warte mal, jetzt muss ich
- 20:09n feature. Jetzt muss ich halt irgend ne
- 20:11Funktionalität erweitern, die hab ich vor einem halben Jahr
- 20:13geschrieben, ist ja kein Thema, hab ich ja geschrieben und guck
- 20:15es dann halt da rein und sobald du anfängst also du weißt an
- 20:19welcher Stelle du das entwickeln musst ne also sagen wir nochmal
- 20:23klasse a muss halt um gewisse Methoden erweitert werden.
- 20:28Ja ok, warte mal ja OK, das geht ja nicht so einfach.
- 20:30OK, dann merkt es halt beim Test schreiben schon, ich kann das
- 20:32gar nicht einfach testen, ich kann jetzt nicht einfach diese
- 20:34Funktionalität abtesten gut OK, ich hab Abhängigkeiten und wenn
- 20:38du dann durch die ganze Software browst und dir alle Klassen
- 20:43anguckst, wo wird diese Funktion aufgerufen?
- 20:45Okay ja gut ja da okay alles klar okay jetzt bin ich ganz
- 20:49woanders weißt du und du verlierst dich völlig in dieser
- 20:51Software nur um zu verstehen was da eigentlich passiert, dann
- 20:54weißt du einfach schon, dass was richtig schiefgegangen ist.
- 20:58Weil, und das ist so lesbar, die Lesbarkeit.
- 21:01Und da hatte ich auch mal so einen Vergleich gelesen, das
- 21:03fand ich halt richtig cool gelesen.
- 21:07Dass sich so Software auf ein gutes Buch lesen muss.
- 21:10Also du guckst dir diesen Code an und du verstehst ihn und das
- 21:13musst du richtig, das muss fließen, weißt du beim Lesen, du
- 21:16musst halt richtig merken, aha, okay die Funktion, die macht das
- 21:19schön. Nein, sorry, ich muss noch das
- 21:22Kapitel zu Ende lesen. Oh mein Gott, bei der Dritten
- 21:25vor. Aber das ist halt echt ein
- 21:28geiles Vergleich, weil. Du darfst eigentlich gar nicht
- 21:31darauf angewiesen sein, komplett in den Code abzutauchen, wenn du
- 21:35an einer Stelle irgendwas ändern willst.
- 21:37Das ist immer so das Idealszenario, ja, aber im
- 21:40Prinzip muss ja der Code an sich selbsterklärend sein und wenn du
- 21:44das Ganze als Blackbox betrachtest, also da sind halt
- 21:47funktionsaufrufe von anderen Klassen beispielsweise drin, da
- 21:50müssen die aber selbsterklärend sein, dass du anhand der
- 21:52Funktion schon weißt, was da passiert.
- 21:56Ich musste die Funktion reingucken, um zu wissen, was
- 21:57passiert, und dann, wenn du ja, also das kann man halt auch mal
- 22:01in der Folge vertiefen, aber das ist halt n extrem krasser Punkt
- 22:04wo und ich würde mich mal so weit aus dem Fenster lehnen,
- 22:07sehr viele Entwickler mal landen und in diese Falle laufen und
- 22:10dann das ganze Refact, dann ist halt richtig aufwändig.
- 22:13Ja, aber ich hab da immer noch ein bisschen Kopfkino.
- 22:16Ich stelle mir das so vor, Tinos programmiergeschichten und dann
- 22:21hörst du nur so if i 0. Geschweifte Klammer auf i plus
- 22:28plus. Throw exception.
- 22:33Und alle schlafen. Und alle schlafen der
- 22:36Einschlafpodcast bald bald auch bei euch.
- 22:42Ja, aber das ist halt. Im Endeffekt ist es ja so, dass
- 22:44du halt Code halt wirklich entspannt lesen kannst und ich
- 22:48Ärger mich extrem, wenn ich meinen eigenen Code lese.
- 22:50Nach ein paar Wochen und mir denke, was habe ich da
- 22:52eigentlich gemacht und diese diesen Moment gibt es und ich
- 22:54denke mal du kennst den auch, du kannst ja mal sagen wie deine
- 22:56Erfahrung dazu ist. Aber das ist halt da merkt man
- 22:59halt einfach okay ich habe nachgelassen darauf zu achten.
- 23:04Ja, also es geht ja auf. Also ne ich ich, ich würd quasi
- 23:08auch generell immer gucken, dass also ich ich kenn ähnliche.
- 23:14Punkte, wo halt eben zum Beispiel auch vielleicht nicht
- 23:17nach Cleancode gearbeitet wurde, aber teilweise halt auch.
- 23:22Schleichend, ne wie du meintest. Also man arbeitet also ich kenn
- 23:24das halt so, man arbeitet im Team zusammen und hat eine
- 23:28Funktionalität und. Der Funktion, die etwas machen
- 23:33muss. Und es kommt dann vielleicht
- 23:34noch ne Anforderung dazu und du musst noch n bisschen mehr
- 23:38filtern mappen, du musst noch n bisschen mehr konvertieren in
- 23:42dieser Funktion, du musst. Noch verschiedene Sachen in
- 23:47dieser Funktion machen, weil einfach noch mehr Anforderungen
- 23:50reinkommen und diese Funktion bläht sich einfach auf, weil
- 23:52jeder eigentlich nur 3 Zeilen hinzufügt und auf einmal hast du
- 23:55aber vielleicht keine Ahnung, ne Funktion von.
- 23:58Die einfach 50 Zeilen lang ist und man kriegt es aber
- 24:01eigentlich gar nicht so richtig mit.
- 24:04Nur das Problem ist irgendwann da vor dem Problem stand ich
- 24:07halt auch schon öfter mal, dass man dann eben, und das ist ja ne
- 24:10gewisse Art von Wartbarkeit, vielleicht ist ein Fehler
- 24:13irgendwie ne Anwendung geflogen und du musst genau diesen Fehler
- 24:15reproduzieren, aber mach das mal in einer Funktion, die
- 24:19unglaublich viele Bedingungen hat, unglaublich viele
- 24:22Verzweigungen und du dann aber eigentlich gar nicht mehr genau
- 24:26weißt okay Scheiße, wo könnte es denn jetzt sein und du musst es
- 24:29halt reproduzieren, das heißt es dauert halt sehr viel länger.
- 24:33Was ja eine gewisse Art von Wartbarkeit oder auch
- 24:35Erweiterbarkeit. Wenn du dir irgendwann denkst,
- 24:37jetzt muss ich noch was einfügen und dann willst du was einfügen,
- 24:41hast natürlich Tests, aber du denkst dir, wieso fehlt jetzt
- 24:43dieser Test? Wenn ich das mache und wieso
- 24:45fehlt dieser andere Test? Wenn ich das jetzt schreibe, das
- 24:48heißt, die Funktionalität verändert sich ein bisschen,
- 24:50obwohl ich jetzt irgendwie nur ein bisschen was hinzufügen
- 24:53möchte, das sind Sachen, die die mir auf jeden Fall schon bei mir
- 24:58schon aufgetreten sind, das ist ungefähr so, wie wenn du
- 25:00irgendwie. Keine Ahnung.
- 25:01Sagen wir mal, du hast irgendwie.
- 25:04Ein in in in Lagerraum und sagst, jetzt packe ich das Pack
- 25:06ich dahin und das Pack ich dahin und ich weiß ganz genau, dass
- 25:09ich das zum Beispiel dahin packe.
- 25:11Und hinterher ist der ganze Lagerraum voll und du weißt
- 25:14eigentlich gar nicht mehr, wo deine Sachen liegen, weil du dir
- 25:16dachtest. Ich weiß, kann es mir auf jeden
- 25:17Fall merken, so ne, aber du schaffst es nicht.
- 25:20Das ist wie wenn man gerade umzieht und ich sag es dir, ich
- 25:24hab es ja, ich hab es ja jetzt gar nicht vor so allzu lange
- 25:26Zeit hinter mir und es ist halt einfach dieses typische.
- 25:32Ja, dieses diese Sachen packe ich in diese Kiste und auf die
- 25:34Kiste schreibe ich Wohnzimmer drauf und da weiß ich, dass es
- 25:38da drin ist. Und ich weiß auch, dass es da
- 25:40drin ist, weil wenn ich diese Kiste aufmache, dann liegt ganz
- 25:42oben liegt dieses Tablett so und dann denkst du, ich brauche das.
- 25:47Wo war denn das war das, das war mal mit dem, mit dem mit den
- 25:52Kerzen hier, oder war das vielleicht weißt du, obwohl du,
- 25:56obwohl du eigentlich ganz genau dir gesagt hast, ich weiß
- 25:58definitiv, das ist da drin, das ist nicht da drin, auf gar
- 26:01keinen Fall ist das da drin. Das ist auch eine geile
- 26:05Analogie, weil ich meine, sowas begegnet einem ja im Leben an
- 26:09allen Stellen. Ich finde auch andere coole
- 26:12Analyse Analogie ist so ein typischer Akku Ordner, wenn du
- 26:15deine Unterlagen irgendwie abheftest.
- 26:18Und du sag ich mal, du fängst nen neuen Ordner an und machst
- 26:21so so zwischen Seiten rein. Weißt du hier so so wie nennt
- 26:24man die Dinger kleine Zettelchen mit Kategorien nennt man die.
- 26:29Kategoriezettel Kategorie Zettelchen so und du machst das
- 26:34richtig geil ne und hast so n richtiges System da drin,
- 26:36genauso wie dein System war. Ich mach auf jeden mach Kisten
- 26:40für die einzelnen Räume beschrifte das.
- 26:42Dann fängst du an da Sachen reinzuheften so super es läuft
- 26:46und dann irgendwann kommt der Moment und das ist dieses
- 26:48nachgiebig werden ich Hefte es erstmal ganz oben hin und dann
- 26:51alle sortier ich das später ein in meine Kategorien und
- 26:55irgendwann findest du auch nichts mehr dann ist dieser
- 26:56Ordner voll es ist alles durcheinander die Hälfte ist
- 26:59vielleicht noch rausgeflogen weil du es gar nicht richtig
- 27:01eingeordnet hast sondern nur so dazwischen geklemmt hast weißt
- 27:04du und das ist also es begegnet im Leben ja ein überall.
- 27:08Genau. Und Zuhörer, falls ihr wissen
- 27:12wollt, wie man Aktenordner richtig gut perfekt sortiert,
- 27:15dann kauft unser Buch Dummies. Wie heißt das, diese Dummy
- 27:19Reihe? Genau clean Folders for Dummies
- 27:21by Calling Boys. Einfach immer oben auf und dann
- 27:27suchen. Spoileralarm.
- 27:29Dieses Buch gibt es nicht. Ja, was wird die neue?
- 27:34Das wirklich immer ganz coole Analogien finde ich und das also
- 27:37ich meine diese Situation kennen ja wahrscheinlich sehr viele
- 27:40Leute, auch die nicht Software entwickeln und können sich
- 27:42wahrscheinlich jetzt besser vorstellen, warum cleancount
- 27:44wirklich eine wichtige Sache ist.
- 27:45Weil du brauchst halt einfach Struktur und gewisse Konvention
- 27:49und das erleichtert ja auch die Zusammenarbeit, wenn ich jetzt
- 27:52quasi so einen Aktenordner share ich mal irgendwie keine Ahnung,
- 27:57müssen halt mehrere Leute Sachen abheften und es gibt halt
- 28:00einfach eine Richtlinie und eine Struktur da drin, dann weiß ja
- 28:03jeder auch gleich versteht er das System, er weiß wo er was
- 28:05findet. Wenn jeder sein eigenes System
- 28:08versucht dazu implementieren, dann kann es ja auch gar nichts
- 28:10werden. Schön, dass so.
- 28:12Auch mal zu der. Teamarbeit bei Aktenordnern
- 28:15System implementieren finde ich gut das.
- 28:18Naja, also Struktur ist ja da schon nicht aus Erfahrung.
- 28:21Da ist ein System wünschenswert. Nee, ich finde, ich finde, ich
- 28:26finde ja den. Ich find es sehr gut, solche
- 28:28Begriffe wie implementieren einfach viel mehr im Alltag zu
- 28:30verwenden. Na ja, natürlich.
- 28:35Aber es ist auf jeden Fall schon sehr wichtig, würde ich sagen.
- 28:40Aus genannten Gründen Cleancode zu verwenden und ich würde
- 28:46sagen, hast du noch was Tino, was dir gerade auf dem Herzen
- 28:49liegt. Wir haben das jetzt ausführlich
- 28:53motiviert. Das Thema und ich freue mich auf
- 28:55die einzelnen Topics, weil da kann man auch eine Menge drüber
- 28:59diskutieren und darüber sprechen, genau, wir wollen.
- 29:02Ja, noch mal ein bisschen Deep Dive in einige Topics
- 29:05einsteigen, auch schon ein Paar, die wir angesprochen haben,
- 29:08werden sicherlich dabei sein. Und dann gucken wir uns das mal
- 29:13genau an, was da so wichtig ist und wie Cleancode in den
- 29:17einzelnen Punkten dann aussieht. Ich würde sagen.
- 29:20Jetzt, wo wir die Zuhörerinnen und Zuhörer eingefüttert haben,
- 29:22können sie es natürlich gar nicht abwarten, bis diese folgen
- 29:24dann erscheinen. Seid gespannt, es wird auch
- 29:27nicht allzu lange dauern. Bleibt dran.
- 29:30Aber im Endeffekt ja. Es wird nicht allzu lange
- 29:33dauern, aber ich glaube, so bis alle folgen davon draußen sind,
- 29:36das ist ein Riesenthema. Ich glaube, das wird dann
- 29:38natürlich ein bisschen insgesamt ein bisschen dauern, aber.
- 29:41Ja, wir haben es ja immer hochgerechnet.
- 29:43Was waren das so Pipapo, 65 folgen.
- 29:49Das Finish, das große Finale der Cleancode Reihe, wird dann 2030
- 29:55irgendwann. Nein, aber wir würden uns auf
- 30:00jeden Fall sehr gerne meinen. Also uns würde sehr gerne, also
- 30:04uns interessiert sehr. Seht ihr die Idee von der
- 30:10cleancode Reihe findet und ob euch cleancode auch
- 30:13interessiert, ob ihr da noch ein bisschen mehr darüber wissen
- 30:16wollt? Ihr kriegt wahrscheinlich um die
- 30:19Ohren gehauen. Aber wir würden auf jeden Fall
- 30:22gerne natürlich euer Feedback haben.
- 30:26Und ja, ich würde sagen, Feedback könnt ihr uns auf jeden
- 30:30Fall. Über die klassischen Kanäle
- 30:32zukommen lassen. Das heißt, Wir haben Discord, da
- 30:35könnt ihr gerne reinkommen und Vorschläge machen, ihr könnt
- 30:40euer Feedback auch über Instagram und unsere Podcastmail
- 30:44uns zukommen lassen. Alle Links, die irgendwie
- 30:48wichtig sind. Genau zu diesem Thema findet ihr
- 30:50in den Shownotes. Und ja, wenn euch die Folge
- 30:54gefallen hat, dann würde ich sagen, Empfehlt diesen Podcast
- 30:58doch einfach mal ein paar Freunden und Freundinnen von
- 31:01euch. 2 würden schon reichen. Besser 3.
- 31:08Genau. Und ich würde sagen, habt noch
- 31:12einen schönen Tag und ich hoffe wir hören uns beim nächsten Mal
- 31:14wieder eure Coding Bands. Gemeinsam besser.
- 31:26Was?