Latest / Coding Buddies | Tech & Dev-Mindset / Die Handschrift eines Developers
Transcript
- 0:00Also du meinst der würde erstmal die ersten 2 Wochen richtig
- 0:02beatmet und danach traut er sich gar nicht mehr anders zu holen.
- 0:06Coding bodies Dein Podcast rund um Softwareentwicklung und
- 0:09aktueller Tech News. Herzlich Willkommen.
- 0:23Einen wunderschönen guten Tag hier wieder beim Coding Bodies
- 0:27Podcast. Ich bin wieder dabei, der Fabi
- 0:30und natürlich auch mein werter Kollege der Tino Hi.
- 0:33Tino Hi Moin Moin. Bist du ausgeschlafen?
- 0:38Nee, ehrlich gesagt nicht. Ich muss ja auch wieder früh
- 0:42aufstehen, aber es geht, es geht.
- 0:44Bis nicht so der früh. Auch selten ausgeschlafen muss
- 0:47ich sagen. Ich ich liebe, schlafen,
- 0:49schlafen ist. Cool, aber früh ist nicht so
- 0:51dein Ding, oder wie? Was früh.
- 0:54Aufstehen? Nicht so dein Ding.
- 0:56Ja, na, weil das meistens gegensätzlich zu lange schlafen
- 1:00ist. Ja gut, man könnte ja auch viel
- 1:03früher ins Bett gehen, ne, aber? Zum Beispiel?
- 1:05Gut, ich bin ich bin nachtaktiv, also ich finds auch geil, zum
- 1:08Beispiel einfach abends zu arbeiten oder noch was zu
- 1:10machen, Eule deswegen, genau deswegen ist es manchmal ein
- 1:14bisschen schwierig, aber ich bin absolut bereit und fit für
- 1:17diesen Podcast. Keine Sorge, ich hab auch wieder
- 1:18einen schönen Podcast. Hier stehen, das ist.
- 1:21Schön deswegen. Also ich würde sagen.
- 1:23Hau mal raus, das Thema ist, ich bin sehr gespannt und machen wir
- 1:28das Beste draus. Bevor wir, bevor wir starten, so
- 1:31wollte ich auch nochmal ganz kurz so mit der kleinen aufwach
- 1:35Anekdote anfangen, weil deswegen hab ich gefragt ob du
- 1:38ausgeschlafen. Erlebt hast du heute morgen
- 1:40etwas erlebt, oder was? Genau, also ich bin quasi ich
- 1:43wollte. Also Wecker hat mich gar nicht
- 1:45so großartig geweckt, sondern eher ein Herr, der draußen in
- 1:49einer Straße rumgelaufen ist. Also hier bei mir in der Nähe
- 1:53ist gleich ein rewe, muss ich dazu sagen.
- 1:55Hab ich dann irgendwann heute morgen.
- 1:57Ich hatte Fenster offen ne und dann höre ich die ganze Zeit so
- 2:00ein Herren da Rumbrüllen und der hat immer gesagt der Supermarkt
- 2:05ist ein Verbrecher, der Supermarkt ist ein Verbrecher.
- 2:09Das müsste das Supermarkt danach.
- 2:10Was war? Auf jeden Fall ist der
- 2:13Supermarkt, weil ich glaube, er hat irgendwie hat erzählt, dass
- 2:16er keine Zigaretten bekommen hat oder die super teuer geworden
- 2:19sind oder sowas und er sich aber auch Lack lammkoteletts
- 2:23eingepackt hat und das aber nicht funktioniert und dann hat
- 2:25er Hausverbot. Gekommen und hat sich wohl die
- 2:28ganze Zeit von Rewe hingestellt und hat immer gesagt, der
- 2:31Supermarkt ist ein Verbrecher. Ja, aber das ist alles in
- 2:36während der Aufwachphase passiert, quasi.
- 2:38Also das hat sich so schön langgezogen, du bist so langsam
- 2:41wach geworden und dachtest dir, hä, wer ist denn Verbrecher, was
- 2:44ist hier los? Ich glaube, ich habe heute
- 2:45morgen meinen Wecker bestimmt 2030 Minuten setzen lassen und
- 2:49das hat mich überhaupt nicht gestört.
- 2:50Aber der Typ hat mich aufgeweckt.
- 2:54Ganz witzig, weil bei mir war es heute komplett umgedreht.
- 2:57Ich hab eigentlich eigentlich hör ich meinen Wecker ganz gut,
- 2:59aber der ist sehr sehr chillig, ich hab so.
- 3:03Quasi so eine Art Streaming Liste, bisschen zufällig mit
- 3:08entspannter Musik quasi. Wieso n radiowecker oldschool
- 3:12dich und hab dann eigentlich entspannte Musik und kommt ganz
- 3:15langsam raus aus dem Schlaf ne, aber heute morgen irgendwie
- 3:18keine Ahnung irgendein Song eingegangen den ich nicht
- 3:22kannte, es war einfach viel zu laut, der Typ hat gefühlt mich
- 3:24angebrüllt, der Sänger was ist denn hier los?
- 3:28Alter das war also bei mir war es quasi genau umgedreht ich war
- 3:31heute nicht so sanft, ich hatte nicht so eine sanfte
- 3:34Aufwachphase. Also da hätte ich lieber gehört
- 3:37wie Supermarkt beschimpft ich aber am.
- 3:41Ende werden wir beide über Geschreie und Gebrülle.
- 3:43Irgendwie. Aufgeregt.
- 3:45Und dann kanns losgehen. Und jetzt geht es los mit der
- 3:47Podcast Folge also los jetzt, ach, was ist das.
- 3:50Thema Film ab. Ja genau, wir wollen ja ein
- 3:52bisschen darüber sprechen, über ja die Art und Weise wie man
- 3:58Coach schreibt oder was man so für was es so für Möglichkeiten
- 4:03gibt Code zu schreiben im Sinne von jeder hat seine eigene
- 4:06Handschrift. Stichwort.
- 4:08Und man kann ja zum Beispiel Code sehr komplex schreiben, mit
- 4:12viel Zeilen oder halt zum Beispiel so im.
- 4:15Krassen Gegensatz dazu sage ich jetzt einmal, der klassische
- 4:18Oneliner. Weißt du so, dass man halt so
- 4:21ein bisschen so das gegenüberstellt?
- 4:23So hat das alles irgendwie so seinen Sinn, weil ne.
- 4:27Wie, wie schreibt also was die die Folge soll behandelt, wie
- 4:31soll man Code schreiben? So das war ganz provokativ jetzt
- 4:35OK. Also so in Richtung.
- 4:39Wie weit kann man Optimierung und Code Reduktion treiben?
- 4:46Meinst du das so also, also wie weit kann ich meinen Code
- 4:49optimieren, dass es noch sinnvoll ist, weil du meintest
- 4:52so online, das ist ja so ja so weit verbreitet, da guck mal,
- 4:56ich hab die Lösung in einer. Zeile.
- 4:58Ja genau, also ich kenne das Halt zum Beispiel von dieser,
- 5:01also von der Plattform haben wir schon mal geredet, Code wars, da
- 5:05hab ich zum Beispiel auch ne zeitlang mal n bisschen
- 5:08rumgerodelt so Coding Katas gemacht.
- 5:10Einfach so zum Beispiel morgens n bisschen reinzukommen, finde
- 5:14ich immer noch ganz cool. Hab ich aber ein bisschen, muss
- 5:16ich sagen, sollten wir vielleicht mal anfangen damit
- 5:18mal wieder ne, aber da hab ich zum Beispiel auch wenn irgendwie
- 5:24Aufgabe hat, dann denkt man kurz nach, schreibt dann den Code und
- 5:27Haut den rein und danach kriegst du ja auch zum Beispiel Lösungen
- 5:31präsentiert von Leuten, die es auch geschafft haben und
- 5:34manchmal sind da echt krasse Lösungen drin, also ne, das ist
- 5:37so das wo ich mir denke. Boah, ey.
- 5:40Wie wird das? Funktioniert?
- 5:43Ich weiß nicht, also ich wusste gar nicht, dass das irgendwie
- 5:46ich hätte Benny drauf gekommen, dass diese Lösung zu dieser
- 5:49Aufgabenstellung sozusagen passt, ne?
- 5:52OK, das ist aber schon ein ganz guter Punkt.
- 5:54Also hast du den Code gesehen, ihn sofort verstanden und dir
- 5:58gedacht, OK, cool, wirklich cool gelöst oder so.
- 6:02Ja OK, es ist wenig cool, was passiert da und das war
- 6:06erfolgreich, war das eher A oder b?
- 6:09Also es gab ja verschiedene Lösungen und es war alles dabei.
- 6:12Also einmal sowas wie OK, ja klar.
- 6:14Ganz klassisch, oder? Das war aber sehr elegant
- 6:17gelöst, oder? Keine Ahnung, das funktioniert
- 6:20also wirklich so verschiedene Stufen davon und da sind wir
- 6:24eigentlich direkt beim Thema ne, also dass man sich halt sagt, so
- 6:28OK, was macht denn Sinn für den Code zu produzieren, was meinst
- 6:32du denn, also welche Art und Weise ist denn zum Beispiel?
- 6:37Ich sah jetzt wieder ganz provokativ, welche.
- 6:39Was ist schöner? Was ist schöner?
- 6:44Das ist also, man kann das nicht pauschalisieren, ne, also ich
- 6:48weiß so ein bisschen aus meiner Historie heraus, dass ich eine
- 6:52Zeit lang irgendwie voll auf den Trip war.
- 6:56Dass ich mir dachte, ich muss jetzt super hochwertigen Coach
- 6:59schreiben. Also so, dass Leute sich denken,
- 7:03boah krass, also was krass, so weißt du, und dann kommt man
- 7:07halt schnell auch in diese Falle rein, dass man sich denkt, oh,
- 7:09ich kann hier noch eine Zeile einsparen, oder das kann ich
- 7:11noch zusammen packen, wenn ich das so und so berechne, dann
- 7:15wird es noch weniger oder effizienter Code.
- 7:18Das aber jetzt hast du mir gesagt, hochwertigen Code machst
- 7:20du nicht mehr. Nee.
- 7:22Jetzt hole ich halt die ja das Erste was mir einfällt rein
- 7:25damit und fertig. Kompiliert nicht.
- 7:30Egal. Jeder hat ja.
- 7:32Seine also was was ich damit meinte ist einfach, dass ich so
- 7:37auf dem Trip, weil ich muss jetzt alles komplett so weit
- 7:39pushen bis nichts mehr geht und alles so hoch optimieren
- 7:43sozusagen ne was aber ab einem gewissen Grad einfach quatsch
- 7:47ist, weil was du dir dadurch leider einkaufst ist natürlich
- 7:50wenn du im Team arbeitest, es gar nicht mehr so
- 7:54unwahrscheinlich, dass Leute zu dir kommen und sagen, ja, ist ja
- 7:57cool was du da gemacht hast. Das scheint ja auch zu
- 7:59funktionieren. Aber ich versteh es nicht.
- 8:01Also ich verstehe einfach nicht mehr was da passiert und das ist
- 8:05in im Team Gefüge natürlich super schlecht, weil es wird ja
- 8:09auch der Moment kommen, wo vielleicht andere diesen Code
- 8:11erweitern müssen oder umbauen müssen und quasi eine
- 8:16Abhängigkeit geschaffen wurde, dass du das machen musst, weil
- 8:20kein anderer sich die Zeit hat sich da reinzudenken.
- 8:23Ne also ich will jetzt nicht abstreiten, dass andere Leute
- 8:25das irgendwann verstehen, wenn sie sich das länger angucken,
- 8:27aber das ist ja absolut meiner Meinung nach nicht der Sinn.
- 8:32Hinter dem Code, sondern du musst sehr schaffen, ihn so
- 8:35lesbar zu gestalten und dann halt auch ruhig mal eine Zeile
- 8:38mehr zu schreiben, dass man relativ schnell.
- 8:42Je nachdem, wie groß die Funktion ist, quasi das
- 8:46überblicken kann und weiß OK alles klar das und das passiert
- 8:49das halt nicht so Black Boxen entstehen wie komme ich habe
- 8:52hier ein paar Schnittstellen für dich, da hab ich was
- 8:54implementiert die Funktion zu verwenden die funktionieren aber
- 8:57guck ja nicht rein, guck nicht rein, wirst du nicht verstehen
- 8:59so nach dem wollte das ist ja halt auch nicht der Sinn
- 9:02dahinter. Ja, also da bin ich wieder bei
- 9:04dir verkehrt. Dann bin ich total bei dir.
- 9:05Also ich denke auch, dass wenn du Code im Team sag ich mal
- 9:10schreibst, dann sollte jeder auch.
- 9:12Nach relativ kurzer Zeit irgendwie ein gewisses
- 9:15Verständnis davon haben, was passiert dann ne und da gehört
- 9:17für mich zum Beispiel rein, dass die der funktions Name der
- 9:22Klassen Name, was auch immer man dann halt eben hat, der Name des
- 9:25Interfaces und so weiter also alles was man irgendwie benennen
- 9:28kann, dass die auch wohl überlegt sind, ne, also das
- 9:32gehört irgendwie dazu, weil ich hab es auch schon zum Beispiel
- 9:36erlebt, dass man irgendwie n Pair programmiert hat und dann
- 9:41hieß es so ja können wir benennen die Funktion erst mal
- 9:44so. Ist prinzipiell nicht so
- 9:45schlimm, wenn man sich hinterher noch mal überlegt.
- 9:47OK, wie genau nennen wir die Funktion jetzt, damit sie
- 9:50wirklich aussagekräftig ist? Weil das hatte ich auch schon
- 9:53mal. Weißt du, dass man dann so ja
- 9:54passt? Erstmal lassen wir so, mir fällt
- 9:57grad nix Besseres ein und dann haben wir irgendwie sage ich mal
- 10:002 Monate später waren wieder an dieser Stelle und da hab ich
- 10:04dann auch gesagt Na. Und was macht die Funktion?
- 10:08Also ich weiß es nicht so und dann haben wir uns also wirklich
- 10:11genau wir beide uns wieder angeguckt und dann scheiße
- 10:14alter, wir müssen, also ich hab dann auch mal so ein bisschen
- 10:18den Appell gespielt und gesagt, Na ja, also wir müssen auf jeden
- 10:22Fall diese Funktion umbenennen, weil das ist halt auch ein
- 10:24Problem, ne und das gehört alles da ein bisschen mit rein wie du
- 10:27auch meintest natürlich auch die Art und Weise wie der Code
- 10:31geschrieben ist. Was ich noch ergänzen würde,
- 10:33ganz kurz ist, das ist ja nicht nur so ist, dass du im Team
- 10:38sozusagen, dass es wichtig im Team ist, weil ich glaube, jeder
- 10:41erfahrene Entwickler kennt das oder hat das irgendwann mal
- 10:44erlebt in seiner Laufbahn als Entwickler oder Halt auch als
- 10:48Entwicklerin. Das waren Sicherheit, denkt so,
- 10:51du schreibst Code, guckst ihn dir, sag ich mal im Monat ein
- 10:54halbes Jahr, ein Jahr später an. Was denkst sie?
- 10:58Äh, was n das für ne Kacke so und dann guckst du dir an und du
- 11:02bist halt der selber, der es gemacht hat und das ist das.
- 11:06Ist gar nicht mal so selten ne, weil man halt dann wirklich auch
- 11:09in diese Falle tappt wie du meintest.
- 11:10Na ich lass es erstmal so oder a ja ich verstehe das schon, also
- 11:14weil in dem Moment, wenn du gerade schreibst, weißt du ja
- 11:17was diese Funktion machst, machst und dann denkst du ja,
- 11:20OK, werde ich auch, das passt ja so ne, aber nee, oft passt es
- 11:25nicht, wenn man sich da nicht wirklich mal Gedanken drüber
- 11:27macht. Ein Punkt der gerade so die
- 11:29Benennung von Variablen. Option, dass sich da wirklich
- 11:35Gedanken zu machen. Und das ist genau so ein
- 11:38optimierungs Fall. Viele scheuen sich davor,
- 11:41Variablen mit langen Namen zu belegen.
- 11:45Ne. Wo ich mir so denke, ja OK, wenn
- 11:48irgendwann ist zu lang ist richtig, aber lieber ein paar
- 11:51Zeichen mehr und man kann es halt in paar Monaten noch
- 11:53verstehen was diese Variable beinhaltet.
- 11:56Genauso bei funktions Namen, Klassennamen Interfaces was auch
- 11:59immer auch so ne Sache die man vielleicht so über die Zeit ein
- 12:04bisschen lernen. Weil ich weiß nicht, woher das
- 12:07kam. Aber anfangs hatte ich auch
- 12:09immer das Gefühl, ah nee, das ist zu lang, das muss kürzer
- 12:11sein. Eigentlich ganz interessanter
- 12:14Punkt, ja, ich meine, dafür gibt es ja auch Konventionen für in
- 12:17Sprachen a Aussagen gibt es nicht ohne Grund.
- 12:19Aber das ist ein interessanter Punkt und das finde ich, fand
- 12:22ich abgefahren, weil ich mal ne Kleinigkeit, also ein kleines
- 12:26Modul sag ich mal, hab ich mal in n go ne also go lang oder wie
- 12:29man das nennt habe ich programmiert und das habe ich
- 12:33auch mit jemandem gemacht, der sich so ein bisschen mehr mit
- 12:35Golling auskennt. Und.
- 12:38Da hatten wir dann auch so ein bisschen die Diskussionen über
- 12:40variablen Namen, weil. Irgendwie die Konvention in go
- 12:44ist. Es kommt ja wahrscheinlich auch
- 12:46so ein bisschen aus den Sprachen C und C plus Plus, wenn ich das
- 12:50richtig im Kopf hab. Aus der Ecke kommt das ja so ein
- 12:52bisschen. Und da ist die Konvention, dass
- 12:56variablen Namen sehr kurz gehalten werden.
- 12:59Und dann haben wir halt relativ lange darüber diskutiert, weil
- 13:02ich hab dann angefangen, das zu schreiben und hab dann halt
- 13:05immer ein bisschen längere variablen Namen genommen, so was
- 13:08wie, ich sag jetzt mal der der variablen Name, Certificate oder
- 13:14Zertifikat ne war dann halt einfach ja, mach doch NC.
- 13:18Und ich dachte mir so, aber wer will denn jetzt wissen, dass das
- 13:21quasi wirklich die Variable ist? Weißt du so, dass das fand ich
- 13:25sehr krass und das war dann so ein gewisses.
- 13:29Diskussions Potential an dieser Stelle ne und am Ende.
- 13:32Werde ich auch drauf eingestiegen.
- 13:33Also ne, also c. Also da fallen mir jetzt 1000
- 13:37Wörter ein oder Beschreibungen was diese Variable beinhalten
- 13:41könnte. Ja, das ist halt.
- 13:42Das ist halt so ein bisschen das Problem gewesen.
- 13:44Weil Zertifikat wäre das letzte gewesen, wäre ich eher bei
- 13:47Counter oder keine Ahnung irgendwie sowas halt ne.
- 13:49Ja, genau, aber das war also gut.
- 13:51Vielleicht in dem Kontext vielleicht möglich, dass man
- 13:53dann ableiten kann, aber nichtsdestotrotz dachte ich mir
- 13:56schon so, dass einfach viel zu kurz, aber da sieht man mal, wie
- 14:00sich das Ganze unterscheidet. Aber da gibt es wahrscheinlich
- 14:04kein wirklich richtig oder falsch ne, weil wenn du in einem
- 14:07Team arbeitest, wo sich jeder auf einem bestimmten Code Style
- 14:12committed, dann ist das ja wieder OK.
- 14:16Also weißt du in gewissen Regeln, außer es kommt jetzt zum
- 14:19Beispiel außer du oder ich komm dann das Team rein und sagen,
- 14:22was ist denn hier los? Versteh ich nicht.
- 14:24Blöd hatte der kann man Vereinbarungen treffen und
- 14:27sollte man auch, aber ich also ja gut ist natürlich jedem
- 14:31selbst überlassen, ich will das jetzt nicht zu sehr kritisieren,
- 14:33aber ich finde, wenn man sich darauf einigt, dass Variablen
- 14:37ein 2 Buchstaben lang sein können oder nur dürfen, dann
- 14:40wird es halt schwierig und ich glaube das kann sich keiner
- 14:42merken. Also 4 Buchstaben hast du ja
- 14:44auch nicht um das wird ein Buchstaben.
- 14:47Das zu beschreiben, so weißt du ja, ja, also ich weiß, dass du
- 14:51ihm, was du meintest mit C plus plus, dass da gerne mal kürzer
- 14:56gehalten wird, aber so kurz nur auch nicht.
- 14:58Also du hast schon eigentlich in der Regel Variablen so benannt,
- 15:04dass man das noch verstehen kann, ist auch Branchenabhängig
- 15:08am Ende es. Gibt ja auch so.
- 15:11Keine Ahnung, denn so Konvention für physikalische Größen und
- 15:15sowas, dass das natürlich wieder quasi Abkürzungen hat, oder?
- 15:19Ja, sag ich mal Buchstaben OK, ist richtig, das hat ja wieder
- 15:23irgendwo eine Verbindung am Ende, aber ich bin trotzdem der
- 15:27Meinung, dass man eine Variable so beschreiben sollte, es vom
- 15:30Namen her, dass ein anderer Code aus deinem Team das auch schnell
- 15:34versteht, was da drin steckt. Ja, ja, auf jeden Fall.
- 15:37Also ich bin da auch total dafür, dass man einfach sagt.
- 15:42Also für mich sind gibt es so n paar Regeln wo ich mir denke das
- 15:45ist wichtig und das kann ich auch irgendwie allen mitgeben
- 15:48die jetzt hier zuhören und zwar einfach, dass man wirklich sich
- 15:52Gedanken einfach mal sagt. OK, ich nehme jetzt nicht die
- 15:55erste Variable, also die variablen Namen oder die erste
- 15:58funktions Namen, was auch immer, alles was man irgendwie in
- 16:00irgendeiner Art und Weise benannt.
- 16:04Würde ich sagen. Und da gehst du ja
- 16:06wahrscheinlich mit. Haben ja gerade darüber
- 16:07gesprochen, dass man sich einfach mal wirklich an der
- 16:10Stelle vielleicht ein paar Minuten mehr Zeit nimmt und
- 16:13sagt, OK, was passiert hier wirklich?
- 16:16Und wie kann ich jetzt sozusagen dieses entsprechende Konstrukt,
- 16:20Ding, was auch immer benahmen? Ne das das ist glaube ich
- 16:23wirklich ein wichtiger Punkt, weil.
- 16:27Es ist ein unglaublich wichtiger Bestandteil von Code, dass man
- 16:30ihn gut lesen kann. So würde ich zumindest ne das
- 16:34sehen. Auf jeden Fall ja.
- 16:36Aber da waren wir jetzt zum Beispiel auch gesagt, das kann
- 16:38ja vielleicht auch, gefällt dir irgendwie ein Beispiel, ein
- 16:41Tino, was, wo es wirklich wichtig ist zu sagen, OK, wir
- 16:46optimieren das ganze jetzt und machen jetzt zum Beispiel mal
- 16:48übertrieben gesagt n Onliner, anstatt dass man jetzt sagt, ich
- 16:53hab jetzt irgendwie ein Code, der super lesbar ist.
- 16:56Mhm. Also ein Beispiel wäre oder wo
- 17:01mir das halt oft begegnet ist, ist natürlich auch im C Bereich.
- 17:04Wenn du verschiedene Bibliotheken verwendest oder so
- 17:07C plus plus alles so hoch optimierte Bibliotheken, die ja
- 17:11eigentlich auch dafür gedacht sind, angewendet oder verwendet
- 17:14zu werden und nicht da drin rumzupfuschen ne ja irgendwelche
- 17:20Beispiele, keine Ahnung. Nimmst du zum Beispiel jetzt für
- 17:22bildverarbeitungs Sachen die Open CV Library, die ist halt
- 17:27wirklich sehr mächtig und effizient.
- 17:29Und irgendwo eine Art Blackbox. Also du weißt natürlich, was die
- 17:34Funktion macht, ne, da sind dann halt meinetwegen irgendwelche
- 17:36Algorithmen implementiert und ich würde jetzt zum Beispiel
- 17:39nicht auf die Idee kommen. Bei mir zu denken, das ist nicht
- 17:44effektiv oder effizient programmiert und ich muss das
- 17:47vielleicht mal reinschauen oder selbst umsetzen, weil die sind
- 17:50wirklich sehr hoch optimiert und da würde ich dann halt einfach
- 17:53von der Blackbox ausgehen, sozusagen ne, aber das ist genau
- 17:56der Punkt. Die Entwickler, die diese
- 17:57Bibliothek entwickeln, ich kenne niemanden und ich habe auch
- 18:01selbst mitgemacht, aber ich kann mir vorstellen, dass auch
- 18:04anstrengend ist. Dann halt sich also in wirklich
- 18:07komplexe Algorithmen reinzudenken, dann noch
- 18:09optimierte Funktionalitäten. Drin zu haben, dass das wirklich
- 18:14alles effizient abläuft. Dann wird der Code
- 18:16wahrscheinlich auch nicht mehr so einfach zu lesen sein.
- 18:19Ja, das ist auf jeden Fall ein spannender Punkt, weil ich kenn
- 18:22auch niemanden. Und falls hier gerade
- 18:24irgendjemand zuhört, der oder die vielleicht genau das Macht
- 18:28und da sehr krass involviert ist, solchen Hoch optimierten
- 18:32Bibliotheken, Black Boxen, was auch immer arbeiten würde, uns
- 18:36interessieren und auf jeden Fall, vielleicht kann man da
- 18:38auch vielleicht ein Interview machen, also meldet euch bei uns
- 18:41über Instagram zum Beispiel. Cody The Coding.
- 18:45Auf jeden Fall. Das wäre wirklich spannend, weil
- 18:47ich hab das mal so im kleinen Rahmen gemacht für ein Projekt
- 18:51quasi in C, ne ne inline bibliothek geschrieben, also ich
- 18:55will jetzt nicht weiter darauf eingehen, was das jetzt bedeutet
- 18:58mit Inliner und so, vielleicht machen wir es, dann können wir
- 19:00das machen, das wäre gut. Damit ich auch weiß.
- 19:04Und da hab ich halt auch, denn das war genau meine Phase, wo
- 19:06ich alles hoch optimiert habe und dann hat das funktioniert.
- 19:09Wirklich konnte man gut verwenden und so, aber ich weiß,
- 19:13dass ein Kollege zu mir. Gekommen ist der da was
- 19:17integrieren wollte in die Bibliothek und sich dachte, er
- 19:20hätte was passiert da ne und dann dachte ich mir naja im
- 19:24ersten Moment weil es frisch war so ist doch ganz logisch was da
- 19:28passiert, aber ein halbes Jahr später habe ich auch geguckt und
- 19:31dachte mir Ui jetzt weiß ich was er meinte weißt du und das ist
- 19:35das ist halt immer dieser Trade off den du am Ende hast.
- 19:37Ja aber da hast du. Das dann erstmal von dort aus
- 19:40ein bisschen mitgenommen, wahrscheinlich ne so.
- 19:42Du hast das gemacht und warst dann noch so ein bisschen im
- 19:44weil du meintest du hattest das am Anfang so oder eine Zeit lang
- 19:47wo du so. Versucht hast alles immer sehr
- 19:49stark zu optimieren, kam daher aus dieser Zeit gerade.
- 19:54Ja, natürlich. Also im Embedded Bereich hast du
- 19:57ja oft wirklich Zeit kritische Anforderungen oder halt wirklich
- 20:00nicht so viel Zeit, da quasi Laufzeit oder Speicher zu
- 20:04verschwenden und dann fängst du halt an zu optimieren.
- 20:07Ja und ja, auf jeden Fall kommt das aus der Zeit aber.
- 20:11Aber das fand also das war halt auch so.
- 20:14Ich fand es auch geil, diesen Code zu optimieren und es hat
- 20:17Spaß gemacht, glaub ich zu überlegen, wie kann ich denn
- 20:19jetzt noch ein paar Zyklen einsparen, um noch weniger
- 20:23Laufzeit zu verbrauchen oder was auch immer ne, aber du merkst
- 20:28halt schnell, dass es nicht Team tauglich ist am Ende oder ist es
- 20:31sehr schwierig ist das Team tauglich.
- 20:33Zu gestalten, ja versteh ich, aber das ist ein guter Punkt,
- 20:36weil das ist ja genau NN sehr interessanter Bereich, das weißt
- 20:41du ja meintest. Ne Embedded ist ja
- 20:43wahrscheinlich ein gutes Beispiel dafür, wo man eben mehr
- 20:46optimieren muss. Na also wenn ich jetzt zum
- 20:48Beispiel daran denke, dass ich ja auch viel im Web und in der
- 20:53Web und App Entwicklung, sag ich mal gearbeitet hab ne so die
- 20:55letzten 5 Jahre. Da ist es meiner Meinung nach
- 21:00zum Beispiel nicht notwendig und da kann man sich auf jeden Fall
- 21:03schon ein bisschen mehr noch austoben, weil man hat meistens
- 21:06mehr Speicher zur Verfügung, man muss nicht auf jeden jedes Bit
- 21:09und Byte achten und da finde ich, ist es auch durchaus
- 21:14wichtig, dass wenn man die Freiheiten hat, halt eben
- 21:16möglichst auch zu sagen, also ne, immer in den Grenzen, wie
- 21:18weit man das machen kann, möglichst den Code lesbar zu
- 21:20gestalten und da hatte ich zum Beispiel auch ein krasses
- 21:23Beispiel, das ging dann auch um so ne Tabelle, wo Daten
- 21:28angezeigt werden sollten. An der Oberfläche, also einer
- 21:30Website. Und da hat dann ehemaliger
- 21:34Kollege von mir n. Eine Komponente also diese
- 21:37Tabelle geschrieben, super. Allgemein also man konnte alles
- 21:43einstellen, sortieren, egal welche Daten da drin standen und
- 21:46so weiter das war ne so ne Komponente und solange du die
- 21:49benutzt hast ne wie eine Blackbox hatten wir gerade
- 21:51darüber gesprochen alles cool und dann gab es diesen Zeitpunkt
- 21:55wo ich was anpassen musste wo es quasi über den Anforderungen
- 22:00quasi was reinkam und ich musste genau diese Komponente von
- 22:03dieser Tabelle anfassen und. Das war also musst du dann den
- 22:07Code. Genau, quasi.
- 22:09Und das war so heftig. Verallgemeinert mit Generics und
- 22:14so weiter. Wo man irgendwann überhaupt
- 22:16nicht mehr geblickt hat, was passiert hier eigentlich und das
- 22:19fand ich wirklich schwierig und an der, also das sind so meine
- 22:22Grenzen, wo ich mir sagen würde, OK.
- 22:25Ganz ehrlich, solange man etwas hat, was man auch regelmäßig und
- 22:30es war eine Art von Regelmäßigkeit, wo also an ne in
- 22:34der man diese Tabelle auch verändern musste.
- 22:38Macht es keinen Sinn meiner Meinung nach, dass man dann so
- 22:42ne hoch. Generische optimierte Tabelle
- 22:46hat ne an der Stelle ist für mich auf jeden Fall ein
- 22:48Beispiel, was mir jetzt direkt eingefallen ist.
- 22:51Was finde ich in der Web Entwicklung auch nicht so viel
- 22:54zu suchen, hat also klar. Also Code duplikationen
- 22:58vermeiden, auf jeden Fall, aber nicht um jeden Preis.
- 23:02Ja, also war das denn also, dass der Kollege dann nicht mehr
- 23:06greifbar war, um die Änderung zu machen im Urlaub oder vielleicht
- 23:10irgendwie gewechselt, oder also warum musstest du dann da
- 23:14reinschauen und konntest es nicht nur noch anwenden,
- 23:16sozusagen. Ja, also er war im Urlaub gerade
- 23:18zu der Zeit auf jeden Fall. OK, also absoluter Klassiker und
- 23:21genau in dem Moment. Ja genau.
- 23:23Dann passieren. Aber nichtsdestotrotz, so weiß
- 23:26nicht, man hat ja dann auch so weiß nicht, es ist ja immer auch
- 23:30so, dass wenn du im Team arbeitest.
- 23:32Du kannst natürlich Fragen, das ist klar.
- 23:34Aber es bringt ja auch nichts, jemanden total rauszureißen aus
- 23:37der Arbeit, die Person dann gerade macht.
- 23:41Und das ist dann irgendwie. Ich hab mir schon gedacht, na
- 23:45gut, du wirst du schon verstehen, ich muss jetzt nicht
- 23:48irgendwie unbedingt den Fragen, aber nichtsdestotrotz dauert das
- 23:52ja dann einfach zu lange ne und das bringt ja auch nichts, wenn
- 23:54man jedes Mal wieder die entsprechende Person fragen
- 23:58muss, die das gemacht hat und eventuell wie wir gerade auch
- 24:01schon gesagt haben, die Person selber vielleicht
- 24:03hundertprozentig weiß wie es geht und auch erst mal gucken
- 24:05muss so, dann ist ja auch keinem geholfen, weißt du und deswegen.
- 24:08Ne. Ob die Person jetzt da war oder
- 24:11nicht. Ne.
- 24:16Ja, spannender Punkt. Also man merkt ja, dass man ja
- 24:19doch immer wieder quasi auf so eine Situation trifft, wenn man
- 24:22den hat, sich wirklich als Entwickler wirklich überlegen
- 24:24muss. So, ja wenn ich es nicht doch
- 24:27vielleicht ein paar Zeilen mehr schreiben und dafür
- 24:30verständlicher, finde ich auf jeden Fall spannend, dass also
- 24:33das halt auch in sämtlichen Bereichen einem begegnet, ne,
- 24:36weil du jetzt meintest der Web oder App Entwicklung, dass du da
- 24:41natürlich auch versucht irgendwelche Komponenten so
- 24:43allgemeingültig und konfigurierbar wie möglich zu
- 24:45machen. Jeder das verwenden kann für
- 24:47seinen Anwendungsfall ist natürlich dann auch wieder so
- 24:50ein typisches Rabbit Hole am Ende ne und dann geht man
- 24:53vielleicht übers Ziel hinaus. Aber kennst du das auch, wenn
- 24:56man jetzt nicht unbedingt Code Optimierung, aber wenn jetzt zum
- 25:00Beispiel wenn Java so mit Klammern arbeitet, mit den
- 25:04geschweiften Klammern, weil wir ja auch am Anfang noch mal
- 25:07gesagt hatten, so Handschriften von Entwicklern und Entwickler
- 25:11innen und ich kenne das auch, dass jeder da so ein bisschen
- 25:14eigene Feinheiten hat, und kennst du das, dass man zum
- 25:16Beispiel manche. Setzen diese geschweifte Klammer
- 25:19direkt diese erste um diesen Code Block zu öffnen, direkt in
- 25:22die Zeile vom IF und manche in die nächste Zeile.
- 25:25Ja. Und das ist noch, was mir gerade
- 25:28so einfällt, weil das hat jetzt nicht großartig was mit
- 25:31Optimierung zu tun. Aber schon so ein bisschen mit
- 25:34der Code variiert und die Lesbarkeit kann durchaus
- 25:37beeinflusst werden dadurch, dass man ja zum Beispiel andere
- 25:40Gewohnheiten hat und sich auf andere Gewohnheiten einstellen
- 25:43muss. Ja, ist eigentlich ein gutes
- 25:48Beispiel. Also ich weiß.
- 25:51Damals in der C Welt haben viele.
- 25:57Das sind die nächste Zeile gerutscht, dass du quasi so eine
- 26:00Zeile nur mit der geöffneten Klammer hast.
- 26:02Dann neue Zeile Einrückung und der.
- 26:03Code als ich angefangen habe zu programmieren, habe ich es auch
- 26:06immer so gemacht. Ja, ist ist gängig, also ist
- 26:09jetzt nicht so, dass das ein absolutes No go ist oder keiner
- 26:12macht. Ich persönlich mag es aber
- 26:14überhaupt nicht, weil irgendwie alles länger wird ohne Mehrwert
- 26:18zu generieren. Also ich finde es auch rein
- 26:20optisch nicht förderlich, also es ist nicht so, dass ich mir
- 26:24denke, jetzt sehe ich viel besser, wo dir der Bedingungs
- 26:27Block ist oder der Funktions Block.
- 26:30Also überhaupt nicht. Ich finde es eher, ich empfinde
- 26:32es als störend. Also bei mir geht die geöffnete
- 26:35Klammer halt auch in der gleichen Zeile wie zum Beispiel
- 26:37die Funktion los. Ja, bei mir mittlerweile auch so
- 26:39ne, aber ich hatte. Ich hatte genau in diesem Punkt,
- 26:42deswegen hatte ich wollte ich damit einleiten, weil.
- 26:45Ich wusste gar nicht, warum. Ich dachte immer, das ist
- 26:47Scheiße, also wenn man das nicht, wenn man die geschweifte
- 26:50Klammer nicht direkt in die nächste Zeile setzt, dann sieht
- 26:52das Kacke aus, so und irgendwann dachte ich mir, was ist
- 26:54eigentlich dein Problem, also was ist das Problem dabei das so
- 26:58zu machen, weil du ja ich gehe total bei dir mit, ne du
- 27:02schaffst mehr Zeilen ohne Mehrwert so und ja.
- 27:07Aber wie gesagt, ich hab beides gemacht, weil das irgendwie so
- 27:09ein bisschen Konvention war in dem C Projekt und das haben alle
- 27:13so gemacht. Dann habe ich es auch gemacht
- 27:14da, also ich bin da nicht so der komplett sich dagegen sträubt,
- 27:18aber ich fand es also. Es hat sich nicht richtig
- 27:22angefühlt. Aber da sind wir auch wieder bei
- 27:25Konventionen innerhalb eines Teams.
- 27:26Ne, weil ich glaube, dass es durchaus sinnvoll ist, wenn sich
- 27:30zum Beispiel ein Team neu bildet oder man ein neues Team Member
- 27:34bekommt, ne, dass man bestimmte, sagen wir mal Rahmenrichtlinien
- 27:40für den Code einfach ein bisschen festzieht ne, also das
- 27:43hilft schonmal, dass man zum Beispiel dann sagt, Pass auf, du
- 27:45bist vielleicht der neue hier, wir machen das so, dass wir
- 27:49sozusagen die geschweifte Klammer einfach mal eine Zeile.
- 27:52Drücken oder so ne. Also du meinst er wird erstmal
- 27:55die ersten 2 Wochen richtig beatmet und danach traut er sich
- 27:58gar nicht mehr anders zu koten. Nein, also das ist ist ist auf
- 28:04jeden Fall noch mal. Wir können ja auch noch ne Folge
- 28:06machen über so sag ich mal Teambuilding ne im Sinne von was
- 28:12man vielleicht am Anfang von einem von einem, wenn sich ein
- 28:14Team zusammenschließt macht, weil ich finde es ist ja auch
- 28:16gut, wenn man zum Beispiel sagt, OK, es kommt jetzt ein neuer
- 28:19Mensch rein in das Team und man sich dann sagt, so OK,
- 28:22vielleicht kann man ja von wem anders lernen und dann kommt
- 28:24vielleicht ein gutes Argument und man sagt.
- 28:26Ja, stimmt eigentlich. Ja, wir sind die ganze Zeit,
- 28:28weißt du, wie sagt man, man sieht den Wald vor lauter Bäumen
- 28:31nicht, ne, aber genau, ich finde dieses Gespräch und zu sagen
- 28:36macht das immer so oder ihr müsst das jetzt alle so machen
- 28:39wie ich das bringt ja nix aber ich glaub so ein gewisses
- 28:42Commitment erreichen. Ja, also man sollte halt schon
- 28:46gucken, dass er halbwegs einheitlich ist vom vom vom Stil
- 28:49her ja zumindest innerhalb eines Projekts oder einer Software.
- 28:54Auf jeden Fall aber an sich. Du hast es ja gerade selbst
- 28:57gesagt, der Stil der eigenen Programmierstil ändert sich ja
- 29:00auch und entwickelt sich definitiv, wie beispielsweise
- 29:03jetzt so ne ganz einfache Sache, wie mit den Klammern oder die
- 29:07Art und Weise wie man Variablen und Funktionen benennt, der.
- 29:12Ja, das. Stimmt, das sind also ich finde
- 29:14es auch gut, man trifft ja auf unterschiedliche Stile, wenn man
- 29:17mit unterschiedlichen Entwicklern zusammenarbeitet und
- 29:20einfach mal fragen, warum machst du das eigentlich so und so und
- 29:24dann wird es ja n Grund geben und es ist nicht
- 29:27unwahrscheinlich, dass man sich auch denkt so ja, also hab ich
- 29:30das noch gar nicht betrachtet und du hast recht, also wenn ich
- 29:32jetzt die Code Zeile lese mit deinen mit deinen funktions
- 29:36Namen zum Beispiel. Ja.
- 29:38Dann versteh ich wirklich auf Anhieb.
- 29:41Was das macht? Ja.
- 29:43Also du hast recht, also ich sollte, dann eignet man sich das
- 29:46vielleicht so ein bisschen an und dadurch entwickelt sich der
- 29:50eigene Stil. Man gibt wieder Input an andere,
- 29:52bekommt Input und ich meine cool ist ja wenn du dann im Team,
- 29:56dann wenn jeder sich so weiterentwickelt, weil wie
- 29:58gesagt, es geht ja nicht nur um das algorithmische denken und
- 30:01das Programmieren an sich, sondern halt auch um die Code
- 30:04Qualität und zu Code Qualität zählt das nun mal enorm mit rein
- 30:07genau. Also auf jeden Fall, wie gut man
- 30:09den Code lesen kann, wie verständlich man gestaltet, ne.
- 30:13Es kommt auch ein bisschen drauf an, so wie man die Funktion
- 30:15kapselt und ne, also das sind ja alles so verschiedene Aspekte,
- 30:19aber allein schon die Lesbarkeit und Verständlichkeit einfach vom
- 30:23geschriebenen Code, vom vom geschriebenen Wort ist ja schon
- 30:26wichtig. Da fällt mir zum Beispiel noch
- 30:28eine Sache ein, weil du meintest, man entwickelt sich ja
- 30:30auch in punkto variablen Namen. Ich hab zum Beispiel wenn du
- 30:34jetzt keine Ahnung mehrere Module hast von irgendwas ne und
- 30:38du willst irgendwie nisch speichern, hab ich früher immer
- 30:41geschrieben Module list. So, bis ich irgendwann mal bis
- 30:45irgendwann mal ein anderer Entwickler zu mir kam und
- 30:49meinte, Na ja, aber wieso nennst du das denn jetzt?
- 30:52Modul ist doch einfach Modules, du siehst vorne das Ding heißt
- 30:56Modules, hat vielleicht sogar noch n Datentyp, je nachdem was
- 30:59du für ne Programmiersprache genau je nachdem was für eine
- 31:01Programmiersprache benutzt, aber irgendwo siehst du also entweder
- 31:04du siehst es direkt in der Typ Bezeichnung der Variable selber
- 31:08sozusagen was für ein Typ ist oder eben wenn du dann halt
- 31:11sozusagen die Werte belegst. Also irgendwo wird ne.
- 31:14Liste da reinkommen und dann sieht man ja OK eine Liste und
- 31:17da dachte ich mir auch so, ja gut, eigentlich total redundant,
- 31:20wenn man das so sieht, ne. Was gutes Beispiel also?
- 31:24Wissen total solide, also total simples Beispiel, aber.
- 31:27Seitdem programmiere ich halt so und ich finde, dass es durchaus
- 31:30lesbarer ist, also dass man halt einfach einfacher, schneller den
- 31:36Überblick darüber bekommt, was im Code passiert und man weniger
- 31:40lesen muss. An der Stelle auch ne.
- 31:41Also du hast sozusagen dein erster Blick fängt sozusagen
- 31:44mehr ein. Ja, aber das ist wichtig, dass
- 31:49man sich da, und ich glaube, da ist auch wichtig, dieser
- 31:51Austausch, weißt du mit verschiedenen Entwicklern und
- 31:53Entwickler innen zu haben und auch Code von anderen Leuten und
- 31:58sich selber zu lesen und zu hinterfragen, zu evaluieren.
- 32:01Ja. Das ist, ich will jetzt nicht
- 32:04vertiefen, weil wir jetzt schon ziemlich lange nicht Folge
- 32:06aufnehmen. Aber eine ein kleiner Funke
- 32:09noch, das hatte ich mal in einem Blog gelesen, fand ich ziemlich
- 32:13spannend, ist einfach dieses ja, wie oft liest.
- 32:15Du Code ja. Und dann denkt man sich so was
- 32:18meint er damit? Nein, das war wirklich genau so
- 32:20gemeint. Wie oft liest du Code, wo du
- 32:23weißt, dass er gut ist? Also in irgendwelchen berühmten
- 32:26Libraries oder irgendwelchen Packages einfach mal
- 32:29reinzuschauen, wie die das machen, ja.
- 32:32Und wirklich wie ein Buch Code zu lesen und da sich was
- 32:34rauszuziehen. Und da muss ich sagen, das mache
- 32:36ich selbst auch sehr wenig. Ja.
- 32:39Nur eigentlich immer nur, wenn ich es musste.
- 32:41Also wenn ich halt wirklich wissen will, was da drin steckt,
- 32:44was wenn die ich was verwende oder irgendwie sowas.
- 32:46Also wenn ich wirklich aktiv daran arbeite aber zu sagen ich
- 32:50k ich guck jetzt einfach mal irgendwo rein, so weißt du das
- 32:53hab ich auch nicht guter. Punkt.
- 32:55Also die Frage, ob ich das machen würde ich dir gern
- 32:57beantworten, aber der Manager guckt schon, müssen die Folge.
- 33:02Es rum. Ja, wir müssen jetzt abbrechen.
- 33:06Ich guck da auch nicht so oft rein, aber ist auf jeden Fall
- 33:09ein guter Tipp. Sollte man öfter machen.
- 33:12Ja, ja. Damit belassen wir es auch,
- 33:15würde ich sagen, jetzt an der Stelle hat auf jeden Fall Spaß
- 33:19gemacht, drüber zu quatschen, ich finde es wirklich ein sehr
- 33:21wichtiges Thema, deswegen, liebe Zuhörerinnen, liebe Zuhörer,
- 33:24falls du noch Fragen dazu hast oder Anmerkungen, meld dich auch
- 33:26diesbezüglich gerne bei uns, auf welchem Kanal auch immer die
- 33:31Links zu den ganzen Kanälen findest du in den Show Notes,
- 33:34aber ansonsten vielen Dank fürs Zuhören, wenn Dir der Podcast
- 33:37gefällt, abonnieren auch gerne, lass ne Bewertung da und ja
- 33:42ansonsten würde ich sagen. Bis zum nächsten Mal.
- 33:44Eure Kording war dies. Gemeinsam besser.