Lieber Zuschauer, dieser Untertitel wurde automatisch generiert von Trint und dementsprechend (sehr) fehlerhaft. Wenn du kannst, hilf uns bitte gute Untertitel zu erstellen: https://c3subtitles.de/talk/2055 Danke!
Hello, welcome to the first take that
chaos west it will be with
me kadiköy and also palladium
the names let you come together.
Einfach mal machen.
The Tag will be in german
average translate.
Beide Amazing QE3,
lego team it
track on.
Herzlich willkommen zu unserem
Talk Let's Review Code.
Dieser Tag ist aus einem
Sonntagnachmittags Gespräch
zu einer Zeit entstanden, zu
der wir eigentlich konvertieren wollten
und auf andere Menschen in unserer
Gruppe gewartet haben.
Und wir haben
uns die Frage gestellt
warum machen wir eigentlich coole Videos
in unserer Freizeit und
wieso machen das nicht mehr Menschen?
Wir, das sind
Quality.
Ich studiere Informatik
an einer Fachhochschule und
ansonsten findet man mich eher
in der Radioshow oder
in irgendwelchen Security
Themen.
Genau.
Und der zweite Part unseres
Teams ist Kalium.
Genau. Hallo, ich
bin 37 Jahre alt,
arbeite als Architekt, habe damals
natürlich auch mit Kopernikus
zu tun.
Selbst entsprechenden Quelltext.
Und wenn ich in meiner Freizeit
dann auch noch mal die
Muße dazu finde, auch dort.
Couchsurfing macht das natürlich auch
weiterhin teilweise im Umfeld,
im Linux Umfeld und
was ich sonst noch so für.
Genau, und die Frage,
die man sich natürlich stellt, ist
am.
Ja.
Was ist ein schöner Code Review?
Wieso macht man das?
Was macht man das?
Und warum ist es ganz, ganz wichtig,
Fragen zu stellen Code Review
oder Review?
Im Duden ist erst mal eine kritische
Besprechung eines künstlerischen
Produkts oder ähnlichen
Code. Ist ja auch irgendwie Kunst.
Wir kennen es alle.
Die meisten von euch kennen es aber
wahrscheinlich eher aus dem
professionellen Bereich.
Also.
Als Qualitätssicherung Stuhl
in Firmen oder als Teil
der Software Development Life Science.
Das heißt meistens einfach nicht mehr
als.
Den Code, den ihr gerade geschrieben
habt, wird an ein
paar geschickt.
Und schaut, ob alles in Ordnung ist, ob
auch alle Konventionen eingehalten sind
oder ob sich noch irgendwelche Fehler
in diesem Code befinden.
Aber jetzt stellt sich die Frage
Wir machen das jetzt schon im
professionellen Umfeld die ganze Zeit.
Wie ist es denn, das in seiner Freizeit
zu machen?
Und damit kommen wir auch zu
unserer Mission.
Wir suchen.
Unicorns Die sind ziemlich selten,
aber wir hoffen, dass wir heute ein paar
mehr Menschen finden können, die wir
dafür begeistern können.
Auch in ihrer Freizeit Chotjewitz zu
machen.
Unsere Mission ist es,
Menschen dafür zu begeistern, sich Zeit
zu nehmen und sich Open Source Projekte
anzugucken, sich
den Code genauer anzugucken,
vielleicht auch einfach
leichter lesbare Kommentare zu schreiben,
das kann auch ein Teil von uns sein.
Aber vor allem einfach sich damit
auseinandersetzen, wie
die ganzen Tools, die wir
einfach so für selbstverständlich
erachten, funktionieren und
ein besseres technisches Verständnis
davon zu erlangen, wie das alles
zusammenhängt.
Genau.
Und.
Wir haben uns sehr viel damit
auseinandergesetzt, was man machen kann,
damit mehr Leute das machen.
Und um diese Fragestellung zu lösen,
haben wir uns zuerst einmal gefragt
Was ist eigentlich unsere Motivation
für Code Reviews?
Ich bin da nur so ein bisschen so
reingerutscht, wie das zustande gekommen
ist, erzähle ich später.
Palladium macht das schon ein bisschen
länger als ich.
Und er hat sich da mal
ein paar mehr Gedanken zur Motivation
gemacht.
Genau.
Motivation sehr wichtiges
Thema.
Wir kommen jetzt gerade auf euch zu und
sagen Hier mach doch mal was!
Die Frage Warum sollte ich es tun?
Und warum machen wir es eigentlich?
Wir haben uns einmal Gedanken gemacht und
haben uns überlegt, dass man das noch mal
in einem Diagramm quasi darstellen
könnte.
Die Motivation muss man schließlich
sagen. Es gibt ja diverse Faktoren.
Wir haben das mal auf zwei heruntergebrochen
einmal egoistische Motive
und altruistische Motive.
Es gibt noch ein paar mehr, aber
wir uns mal auf
ein sehr egoistisches Ziel
und ich glaube, das ist das was, wo sich
die meisten unter ihnen vorstellen
würden.
Das sind auch bestimmt die Leute, die
sich Quelltexte angucken,
darum Sicherheitslücken finden und das
Ganze verkaufen, um sehr schnell sehr
reich zu werden.
Ja, so kann man vorgehen.
Ich möchte allerdings auch gleich die
Enttäuschung mildern für all
jene, die glauben, dass das wirklich so
abläuft.
Man kann es so machen.
Das Kosten-Nutzen-Verhältnis ist
allerdings sehr schwierig,
wenn man es wirklich darauf anlegen
würde, das aus seinen monetären Gründen
zu machen, also aus direkten monetären
Gründen.
Dann würde ich davon abraten, eher auf
Wasser, auf Statistiken und Analysen
zurückgreifen.
Ich würde stattdessen lieber darauf
eingehen Was bringt es einem selbst?
Das heißt, was sind die Vorteile
von Praktizierung von Code Review für
einen persönlich?
Und da ist auf jeden Fall ein ganz
großer, wichtiger Punkt, dass man seine
eigenen Kompetenzen aufbaut.
Das ist zum Beispiel auch, wie ich damals
noch zu Schulzeiten damit angefangen
habe. Ich hatte mich damals schon für
Programmierung interessiert, konnte auch
kleine Programme schreiben.
Ich glaube, dass sich
jeder vorstellen können, der auch in die
Union gekommen ist.
Man fragt sich aber irgendwann dann doch
Bin ich jetzt schon gut genug, um das
auch im professionellen Umfeld zu machen?
So kann ich jetzt nur Programme
schreiben, die mich stützen und so
ungefähr das tun, was ich mir vorstelle.
Oder ist das wirklich hoch qualitativ,
was ich hier betreibe?
Und auch während des Studiums
zum Beispiel man besteht
seine Silvester.
Aber ist das jetzt wirklich das,
was die echte Welt draußen von
einem erwartet? Oder fehlt da noch was?
Und ich habe mir die Frage damals dadurch
beantwortet, dass ich angefangen habe,
mir Programme anzusehen, die ich
tatsächlich auch selbst einsetze.
Das aus dem Umfeld?
Ja, nehmen wir erst mal ganz kleine
Programme zum Beispiel.
Oder wenn für die sagen
Wie funktionieren die eigentlich?
Man kann sich prinzipiell schon
überlegen, was man da tun würde.
Aber ist es denn wirklich das, was man
auch selbst gedacht hat?
Und dementsprechend waren nicht nur die
Kompetenzen auf, dass man versteht,
wie diverse Programme funktionieren.
Man sieht jetzt vielleicht kleine
Beispiele oder auch Beispiele, die man
sich im professionellen Umfeld natürlich
nicht interessiert.
Aber zum Beispiel im Jahre
Umfeld, das bringt Feedback.
Es gibt bestimmt viele Leute, die das
Wort einsetzen, aber wie viele
kennen das? Bringt sein Wort wirklich?
Das heißt, was passiert in den einzelnen
Schritten eigentlich?
Das sind eben Dinge, wenn man sich damit
auseinandersetzt. Zum Beispiel, wenn man
sich den Quelltext ansieht, dass
man versteht, was man da anwendet, wie
man das, was die Programmierer sich
gedacht haben, aber eben auch,
dass man, wenn man das für viele
Projekte, was man eine deutlich
bessere Möglichkeit hat, sich im fremden
Code einzuarbeiten und das kann
ich auch aus meiner Expertise und
Erfahrung dann berichten.
Sich in fremden Code einarbeiten kommt
sehr häufig vor.
Nicht nur, wenn man gerade neu in der
Firma kommt oder Kollegen, die einen
unterstützen.
Es kann auch mal vorkommen, dass man
irgendwo ein anderes Projekt reingezogen
wird, das man vielleicht als Freiberufler
ohnehin ständig
wechselnde Gruppe außen vor sich hat.
Da will man natürlich dann auch nicht
unnötig Zeit verlieren, in dem man sich
mal wieder neu einarbeiten muss, sondern
dass man auch dort schon eine Routine
hat, mit der Maus durchführen kann.
Der Spaßfaktor sollte bei dem ganzen
Punkt natürlich nicht zu kurz kommen.
Dann haben wir es auch schon sehr wichtig
gesetzt, weil das kann man alleine haben,
aber eben auch in einer Gruppe.
Und warum das so ist, darauf kommen wir
natürlich an diesem Tool auch noch.
Ansonsten haben wir natürlich auch noch
was. Auch anderen hilft der
Wissensaustausch.
Das heißt nicht nur, dass ich mein
Wissen weitergeben würde, sondern
auch, dass man von anderen natürlich
genauso lernen kann.
Und darauf beziehe ich mich auch, dass
man als Senior Entwickler zum Beispiel
durchaus auch von Junior Entwicklern
lernen kann.
Einfach weil man, wenn man vertraut
ist mit seinem eigenen Quelltext, man
anfängt blind zu werden.
Vertraut ist mit seinen Fähigkeiten, dass
man anfängt, Dinge zu überspringen, wenn
man davon ausgeht, dass das im folgenden
Dritten sein wird.
Da kann man mindestens in solchen Gruppen
immer sehr gut lernen, dass es schon
Vorteile hat, auch mal einen Gang runter
zu schalten mit anderen, sich den
Quelltext noch mal viel gründlicher
anzusehen, weil die anderen.
Wo sich die Expertise noch nicht haben,
andere Blickwinkel Blickwinkel haben.
Und dann kommen wir auch zu dem
aus unserer Perspektive altruistischen
Ziel.
Wenn man etwas gefunden hat, dann
muss man ja diesen Exploit nicht
verkaufen, sondern man kann ja eben
entsprechend zu dem Zweck beitragen.
Das kann eine Fehlerkorrektur sein, das
kann eine Situation sein, wenn man das
verstanden hat, wofür das Feld zum
Beispiel ist oder wofür das Programm
gedacht ist.
Und dann ist man eben auch tatsächlich
Teil des Open Source Umfelds.
Nicht nur, dass man es anwendet,
sondern dass man eben auch tatsächlich
dazu beiträgt.
Und nachdem wir jetzt die Motivation
geklärt haben, bleibt
natürlich die Frage, wie man das Ganze
im Kopfform aufbauen kann.
Genau das ist auch die Frage
Wie wollen wir dieses Format gestalten?
Und zwar.
Haben wir so ein paar Probleme, auf die
wir eingehen müssen?
Erst mal so, wie ich das jetzt gerade
erzählt haben, das würde in
großen Gruppen schwierig
werden.
Wir wollen irgendwie eine Umgebung
schaffen, in denen alle zusammen
miteinander lernen, in der jeder auch
mal zu Wort kommt und
dementsprechend.
Klein müsste die Gruppe auch sein,
so das nächste Problem,
was wir haben ist Wir wollen auch, dass
alle Leute mitkommen.
Das heißt, irgendwie müssen wir alle
immer einbinden und wir haben uns dann
so ein paar Sachen angeguckt.
Wir haben kurz überlegt Macht es Sinn, so
wie Live Overflow Videos
zu produzieren und zu erklären, wie wir
diese Schwachstellen gefunden haben?
Unser Problem oder was
Gefühl damit war so ein bisschen immer.
Das wirkt immer so, als wenn das total
einfach ist. Und
dieser sehr, sehr lange Prozess,
den man manchmal hat, manchmal über
Stunden, den können wir damit gar nicht
so richtig abbilden.
Also waren für uns die Dinge für uns, die
das Videoformat schon mal raus,
auch wenn das total sinnvoll
für eine Person sein kann.
Es kann auch total sinnvoll sein, wenn
man eine Schwachstelle gefunden hat,
selber mal so ein Video zu drehen, weil
man manchmal Dinge erst viel besser
versteht, wenn man sie erklärt.
So einfach für sich selber
gut. Die nächste Möglichkeit wäre größere
Meetings in Gruppen.
Wir wollen nicht das Rad neu erfinden und
wir dachten in so einer Open Source Szene
Community.
Bestimmt gibt es auf jeden Fall schon
andere Menschen, die
das Ganze genauso machen.
Und wir sind auch fündig geworden.
Es gab früher mal das OpenBC
Daily von Adam Wolf.
Der hat eine Stunde am Tag im
Chat einfach geschrieben,
was er gerade sich bei einer Review
denkt, die er gerade macht.
Und im Vorfeld zu
unserem Tag haben wir auch mal
Edinburg angeschrieben und gefragt Hey,
wir wollen jeden Tag machen, wir haben so
eine kleine Gruppe.
Was meinst du denn? Was wäre denn Format,
was sinnvoll ist?
Wie würde man viele Menschen erreichen?
Kann man das vielleicht skalieren?
Und seine Antwort darauf war Vielleicht
könnte man Tristram machen, wo man so
drei Leute zusammen packt, die in
einem Stream gemeinsam eine Video
machen, reihum
und erklären, was da gerade
passiert und was für Gedanken sie sich
gerade machen.
Für mich persönlich wäre das nichts.
Ich bin halt so.
Ich schalte dann häufig ab, wenn ich
nicht eingebunden werde und dann macht
es so ein 2 3 Stunden langes Video
doch sehr schwierig zu folgen.
Es gibt aber auch noch ein
paar andere Menschen, die es machen,
zum Beispiel den Code
Reading Club.
Die hatten aber auch genau das gleiche
Problem. Sie dachten sich Okay, wir
machen Code für den Club.
Kann ja nicht so viele Leute sein, haben
das in einer Session angeboten
und BÄM hatten
beim ersten Termin gleich eine viel, viel
zu große Gruppe.
Das heißt, sie mussten es dann auch
begrenzen, so dass nicht jeder zu jedem
Termin konnte.
Was ist die Konsequenz, die wir
für uns daraus gezogen haben?
Na ja, der Zeitpunkt, an
dem wir uns diese Frage gestellt haben
Was für Formate gibt es eigentlich?
Zudem hatten wir schon so ein bisschen
rausgefunden, was das Format ist, was für
uns funktioniert. Und vielleicht ist es
auch ein Format, das für euch
funktioniert.
Wie sieht also bei uns eine coole
Review aus?
Koroljow
3 hat 2 Wave,
haben wir es mal genannt, P3 hat 2
ist unsere ZDF Gruppe in Hamburg
und inzwischen
sitzen wir schon 3 Monate zusammen
und das ganze hat angefangen Animate
Publikum der irgendwie schrieb Hey
ich mach voll viel Kohle wie ich es in
meiner Freizeit und ich würd irgendwie
gern mit Menschen zusammen das
machen und vielleicht Menschen das auch
erklären.
Hat nicht jemand Lust?
Und am Anfang hatte er auch gar nicht so
erwartet, dass das so einschlägt.
Und jetzt machen wir es schon
3 Monate.
Am Anfang haben wir uns immer an allen
festen Termine der Woche getroffen.
Inzwischen treffen wir uns an zwei
festen Termin.
Ganz wichtig zu unserer Vorgehensweise
zu sagen ist Unser Ziel
ist nicht.
Ähm.
Schwachstellen zu finden.
Es ist auch ein Ziel.
Aber unser eigentliches Ziel
ist, zu lernen, wie
man an so eine Kultfigur herangeht.
Also wie gehe ich damit?
Todesraten? Welche Ressourcen kann ich
benutzen? Wo finde ich Dokumentation?
Und deswegen machen wir es auch so, dass
wir häufiger mal die Software Projekte
wechseln.
Angefangen haben wir zum Beispiel mit
Less.
Das liegt ganz einfach daran, dass wir
nicht wussten, wie wir mit sicherheits
kritischen Dingen umgehen wollen, wenn
wir welche finden.
Und die Wahrscheinlichkeit, weil es war
für uns aus unserer Sicht relativ gering.
Und deswegen haben wir damit angefangen.
Und wir haben auch ein paar Dinge
gefunden, was irgendwie sehr gut für die
Motivation war, dass man dann doch
auch was findet und das nicht
Stunden dauert.
Und der liebe Marc nur man
hat unsere Änderungen auch gerne
angenommen.
Inzwischen sind wir bei Open
Access haben.
Ein weiterer Grund, warum wir
unsere Projekte so häufig wechseln
ist, dass nicht jeder immer kann.
Wenn man sich zwei Mal die Woche trifft,
ist das ganz schön häufig und irgendwie
haben wir auch alle noch ein richtiges
Leben und Job.
Und das heißt, es kann nicht an
beiden Terminen immer jeder da sein.
Und deswegen wechseln wir die Projekte
so, dass Leute, die dann halt sozusagen
neu einsteigen oder spontan dazukommen.
Es ist nicht so schwer haben.
Ihr kennt das alle, wenn man sich in so
eine neue Codebasis einarbeitet.
Es dauert relativ lange
und b ist es dann halt auch so,
dass wenn man dann neu dazukommt und die
anderen schon viel weiter sind, es
schwierig ist, sich da zurechtzufinden.
Wie gehen wir grundlegend vor?
Also wir treffen uns immer donnerstags
abends und sonntags nachmittags
und dann bringt Palladium
uns meistens ein Projekt mit.
Gerade ist es Open End.
Davor war alles am
und dann.
Gucken wir uns das an und
das machen wir so einer Scherzer ins
Screen.
Und dann gehen wir wirklich Zeile für
Zeile den Code durch und
die Person, die den durchgeht, erklärt,
was da gerade passiert, dann springen wir
in Funktion und so weiter und so
fort.
Und was uns irgendwie ganz wichtig
ist, dass jeder drankommt
und dass wir
auch jeden zu
Wort kommen lassen und dass auch jede
Frage in Ordnung ist.
Wir haben auch ganz unterschiedliche
Wissensbestände.
Also ich studiere noch.
Ich habe jetzt nicht die große
Programmier Erfahrung mit C.
Wir haben auch Leute dabei, die viel,
viel mehr Erfahrung haben, auch viel,
viel mehr Wissen über Betriebssysteme.
Aber wir schaffen halt uns so eine
Umgebung, in der jede Frage in Ordnung
ist. Und häufig bringt
diese Fragen uns auch zu
neuen Sachen, die den anderen vielleicht
auch vorher nicht so klar war.
Das einfach mal zu unser Vorgehensweise.
Und jetzt hoffen wir natürlich, dass ihr
euch alle gequetscht haben
und ihr eine eigene Gruppe gründen könnt
oder wollt.
Könnt du dir das auf jeden Fall.
Aber vielleicht bist ja noch nicht so
richtig. Wie soll ich da rangehen?
Wie gehe ich mit Uran und
Palladium? Hat mal ein bisschen für euch
gesammelt, wie man da rangehen kann und
wie man am besten vorgehen kann.
Genau.
Also man kann sich das vorstellen, man
sitzt da gemeinsam als eine Gruppe, hat
sich für irgendein Projekt entschieden
und fragt sich Was macht man mit
einem Projekt? Das können natürlich
durchaus mal 10000 sein.
100000 sollen oder mit dem Bus können
auch noch weitaus mehr Zahlen sein.
Das war natürlich erst mal als Empfänger
völlig erschlagen.
Wie geht man daran, wenn man nicht gerade
einen Entwickler dabei hat, der etwas
erklären kann?
Ist natürlich umso schwieriger.
Wir haben da auch uns in der Gruppe schon
Erfahrungen gesammelt mit verschiedenen
Ansätzen. Ein Ansatz, der klingt
es vielleicht ein wenig abstrus, aber er
ist tatsächlich auch sehr gut.
Das ist, man sortiert sich einfach die
Datei und man geht alphabetisch geordnet
durch. Oder man sortiert sich die Dateien
nach Größe und geht dann untereinander
durch.
Das hat natürlich zur Folge, dass man
irgendwo reingeworfen wird.
Man hat überhaupt kein Verständnis dafür,
was an konkret dieser Stelle passiert.
Und das ist dann eben auch von dieser
Vorgehensweise her der große Vorteil.
Das heißt, man weiß nicht, wo man ist.
Man hat nur den Quelltext vor sich und
man muss anhand des Textes, den man
gerade vor sich hat, erahnen oder eben
erarbeiten, was das Ganze soll.
Und das hat den großen Vorteil, dass ich
nicht davon geblendet werde, was
ich glaube, was der Quelltext tun soll,
sondern ich muss anhand des Quelltext
herausfinden, wofür er gedacht ist.
Und damit kann man auch vergleichsweise
schnell Diskrepanzen finden.
Das heißt, ich gucke mir den Quelltext
an, ich glaube, ich weiß, wofür früher da
ist und merke, dass das, was ich glaube.
Wofür das aber überhaupt nicht mit dem
übereinstimmt, was ich sehe.
Das heißt, ich kann bei
diversen Funktionen, obwohl ich keine
Ahnung habe, wofür sie wirklich da sind,
Raumsituation erkennen, bei denen
womöglich, wenn da eine ein riesiger
Wert eingetragen werden sollte, dann auf
einmal etwas nicht funktioniert oder ein
kleiner Wert oder vielleicht der Sprecher
gar nicht ausreichen würde und
dergleichen.
Und das würde bedeuten, dass ich
mir überlege, wie komme ich denn genau zu
dieser Funktion, die ich da gerade
gefunden habe?
Und dann heißt es eben sich
da entlang hangeln.
Wenn es ein Programm zum Beispiel
überlegen, wie muss ich dann das Programm
aufrufen, das ich genau dort lande, wenn
ich eine Bibliothek vor mir habe?
Was sind die Randbedingungen, die
eingehalten werden müssen, damit genau
das passiert?
Und auf die Weise hätte ich dann auch
gleich die Möglichkeit herauszufinden.
Ist der Quelltext vielleicht überhaupt
erreichbar, weil ein
anderes Vorgehen wäre?
Zum Beispiel bei einem Programm, das ich
den Einstiegspunkt Einstiegspunkt wäre
zum Beispiel nicht meine Funktion, wo sie
meine Methode ist.
Und von dort aus könnte ich sie jetzt
dabei gehen und mir auch genau überlegen.
Zum Beispiel Ich rufe Cat auf mit einer
Datei, dass ich dann gucke, in
welchen Code Fahrt geht, nämlich durch.
Das heißt, ich spiele womöglich den
Dialog und gehe Schritt
für Schritt durch, überlege mir, was
passiert, was passieren könnte
und kann dann anfangen, so bisschen hin
und her zu bewegen.
Was wäre denn, wenn ich jetzt an der
Stelle vielleicht doch dieses oder jenes
tun würde? Was passiert, wenn ein
Eintrag auftaucht, was auch immer man
sich nicht vorstellen kann?
Oder was passiert, wenn ich eine
Falle tappen möchte und die stirbt
wie reagiert?
Das sind eben Dinge.
Wenn ich so vorgehe, würde ich im
Vergleich zu dem Durchgehen von A
bis Z niemals auf totem Code
stoßen, weil es gäbe ja für mich nie ein
Grund, in einer Funktion zu springen, die
nicht erreicht wird.
Und so könnte man im vorherigen Schritt
eben auch erkennen, dass eine Funktion
vielleicht gar nicht mehr genutzt wird.
Und man könnte dann eben auch toten Code
direkt ansehen.
Eine andere Sache, die man eben bei
beiden Vorgängen haben kann, ist, dass
man irgendwann vielleicht mal was findet,
was nicht richtig programmiert wurde.
Und dann hat man natürlich einen Fehler
und kann es auch beheben.
Und dann kann man sich auch die Frage
stellen Ist das wirklich die einzige
Stelle weltweit, die irgendwann
mal so falsch verwendet wurde?
Und die Antwort ist natürlich mit großer
Wahrscheinlichkeit Nein.
Das heißt, ich kann versuchen, in anderen
Programmen nach genau diesem gleichen
Muster zu suchen, um dann auch für
andere Programme genau diesen Fehler
auszumerzen.
Das ist zum Beispiel ein Vorgehen, was PC
Project gemacht wurde.
Das heißt, sobald irgendwo in ein
Programm ein Fehler gefunden wurde, hat
man in der restlichen Codebasis geguckt,
wird das vielleicht auch noch falsch
angewendet und dadurch kommen
neue Ideen zustande, wie zum Beispiel das
Array, das Trivial, Copy,
String, Copy, String, Thunderbolt
Konvertierung und so weiter und so fort.
Und somit könnte man eben
auch bei gehen und sich zum Beispiel
die Historie eines des
Projektes angucken.
Um herauszufinden, was wurde denn in der
Vergangenheit eigentlich alles behoben,
um ein Gefühl dafür zu kriegen, was
dem prinzipiell irgendwann früher mal
Fehler waren und ob die heute vielleicht
immer noch auftauchen in anderen.
Die letzte Möglichkeit, die wir euch
so auf diesen Tag mitgeben wollen, ist
dann auch noch die Idee, sich
eine Spezifikation durchzulesen.
Zum Beispiel ein
Schnittstelle oder aber eben zum Beispiel
von einem Audio Format oder Archivierung
Programm zu gucken.
Wie soll denn das Programm prinzipiell
funktionieren?
Was ist die Idee dahinter?
Um dann zu gucken Haben
denn die Programme, die ich nutze, denn
auch wirklich alles bedacht, was der
Spezifikation?
Man könnte es bestimmt aus diversen
Beispielen der Spezifikationen teilweise
uneindeutig geschrieben sind,
sie Interpretationsspielraum lassen.
Und genau das sind die Punkte, an die man
auch wieder ansetzen kann, um zu gucken
Was macht denn das Programm X, y,
z, wenn es auf diese Situation
trifft? Was macht ein anderes Programm in
der Situation abgleichen?
Gucken kann man da vielleicht genau in
den Stellen eben nachfragen.
So, wenn man sich das vorstellt,
dass man eine Stelle gefunden hat, die
mir schon sehr interessant aussieht und
man glaubt, dass sie einen Fehler hat,
dann wäre es auch immer ganz gut, einen
Fuß auf ein Taxi
zu fahren.
Das heißt, man guckt wie muss
ich das bekommen? Aufrufen oder eben die
Bibliothek, damit genau dieser Fehler
erreicht wird, weil man zum einen
für sich einfach mal machen.
Herzlich willkommen zu unserem
Talk Let's Review Code.
Dieser Tag ist aus einem
Sonntagnachmittags Gespräch
konnte das heißt, die, die auch wieder
kamen, um zu gucken, was macht denn das
Programm x y, z,
wenn es auf diese Situation trifft?
Was macht ein anderes Programm in der
Situation abgleichen?
Gucken kann man da vielleicht genau in
den Stellen eben nachfragen.
So, wenn man sich vorstellt, dass
man eine Stelle gefunden hat, die schon
sehr interessant aussieht und man glaubt,
dass sie einen Fehler hat, dann wäre
es auch immer ganz gut, ein Hut auf
Konzept beim sogenannten Kiosk zu
schreiben. Das heißt, man
guckt wie muss ich das bekommen?
Aufrufen oder eben die Bibliothek,
damit genau dieser Fehler erreicht wird,
weil man so ein für sich selbst hat,
als Anfänger und ja
auch als Erfahrener
sich sicher gehen kann, dass das, was ich
da gefunden habe, auch wirklich ein
Problem ist und nicht doch womöglich
irgendwo vor ein sich als Mechanismus
gegriffen hat, der es vermeidet, dass ich
dort überhaupt hinkommt kann.
Und mit diesem Proof of Concept kann man
dann nämlich auch wunderbar ein Buch
schreiben oder vielleicht auch schon sich
selbst ein paar Fragen und dann
ein Fest oder ein vorzustellen,
bei dem man eben genau sagen kann Lieber
Entwickler oder Trainer.
Ich habe festgestellt, wenn man das
Programm wie folgt nutzt mit Freunden,
Eingabe, Daten, dann gibt es zum Beispiel
ein Programm, Absturz oder Schlimmeres.
Ich kann wirklich Code ausführen oder was
auch immer.
Dass man dann immer sagen kann
Das sind meine Daten, das ist mein
Vorgeschlagener, wie man es finden
könnte.
Und ja, dann
kann der Autor oder der Trainer
sich entscheiden, das zu machen oder eben
nicht zu machen.
Gerade eben aber auch der Punkt,
wenn es sicherheitsrelevant ist.
Das heißt, wenn man persönlich schon die
Erfahrung hat, zu sagen, das kann
durchaus negative
Konsequenzen haben, wie zum Beispiel
Privilegien, Ausbeutung oder dass ich auf
einmal in einem
Service dann die Daten eines anderen Plus
aus einem sehen kann, dann sollte man
natürlich solche Dinge nicht unbedingt
öffentlich machen.
Und das war auch der Grund, warum wir uns
in der Gruppe noch nicht ganz sicher
waren, wie wir mit Sicherheits Problem
umgehen wollen.
Sondern man sollte die Maintainer dann
entsprechend auf privatem Wege
kontaktieren oder über ein
Backbone. Die Broker,
je nachdem ob man das machen möchte,
ist natürlich jedem selbst überlassen.
Auf jeden Fall sollte man vorsichtig
mit solchen Dingen umgehen und
das wären so die Punkte,
die uns wichtig wären, um ob sagen wie
so ein Code ausgeführt wird.
Weil das jetzt natürlich in Anbetracht
der Zeit unseres Vortrages und auch
allgemein der Audiospur nicht
für jeden hilfreich ist, haben wir doch
mal links zusammen geführt.
Da haben wir zum Beispiel von wo aus
den Code Review Guide, der ist
vergleichsweise zentriert
auf Webservices.
Aber natürlich muss das auch kein Problem
sein. Gerade wenn man im
Wettbewerbsumfeld arbeitet, ist
das natürlich immer ganz gut zu wissen
Wie gehe ich womöglich auf Quelltexte
meinem eigenen Unternehmen um?
Wie komme ich mir zum Beispiel Frameworks
an, die ich nutze?
Was sind da die Punkte?
Dann die Idee für die Kontur.
Das heißt, die, die dann
vielleicht auch hin und wieder mal einen
tollen Obulus dafür haben
möchten, was man da so betreibt.
Selbst verwerflich könnte
man so zum Beispiel gucken, was Google zu
dem Thema schreibt.
Google hat ja auch ein tolles Beispiel
zusammengestellt, wie sie in ihrem
Entwicklungs Umfeld Reviews
durchführen. Das heißt, dass sind
natürlich die Change Reviews.
Das heißt zwar die Entwickler,
aber miteinander zusammen und miteinander
zusammen und gucken was soll ich was
gespielt werden soll ging, war im Code
Review eher einem Code oder ich gucke ein
bestehendes Projekt an und
dann die Frage, die wir schon
angesprochen hatten bis was für die
Gruppen. Da haben wir einmal bei
dem Drittletzten auf dem anderen, die
den Verweis auf das OpenBC
Daily vom Erfolg dort hat das zum
Beispiel auch noch mal nicht nur seine
ganzen Ergebnisse festgehalten, was er so
in dem Zeitraum gefunden hat, sondern
eben auch seine Gedanken
niedergeschrieben.
Das kann man sich wunderbar durchlesen.
Dann haben wir den Cross Code Reading
Club, das ist der,
der sich auf den Workshop bezieht, dort
auf den, soweit ich weiß,
Ross Compiler Code,
je nachdem wo sie gerade sind
und dann natürlich noch der Code
Meeting klappt.
Das wäre das Controlling.
Und auch dort kann man sich auch
wunderbar an die wenden,
wenn man zum Beispiel Ideen hat.
Ja, ich finde das klingt alles super,
weiß aber nicht so recht.
Gibt es da schon vielleicht eher welche
Gruppen wie sieht so aus,
die haben auch eine gute
Kontaktmöglichkeit per E-Mail.
Das hat man einfach.
Ja, ich interessiere mich für das Thema
womöglich in dem unteren Bereich.
Oder ich brauche vielleicht Hilfe bei der
Umsetzung in meinem Unternehmen, die.
Auf jeden Fall dann auch sehr gut.
Heute.
Genau. Und dann?
Heute gebe ich
noch mal an uns überlegt haben Wie
geht man jetzt wirklich konkret vor?
Genau. Vielleicht noch eine kleine
Anmerkung am Rande Wenn
wir irgendwelche Bugs bei Bekannter
einreichen, sammeln Geld für Pizza
total super Sache.
Das ist etwas, worauf wir uns alle
einigen können. Vielleicht auch Mate.
Aber dann gibt es auf jeden Fall keinen
Streit um das Geld,
weil Essen und Mate immer
ganz gut.
Genau. Unser Appell an euch ist
Wenn das jetzt alles ganz cool für euch
klang oder ihr
denkt so Ja, ich habe mir das vorher mich
das vorher nicht getraut, weil ich
dachte, ich kann eigentlich nichts.
Bildet Banden, sucht euch andere
Menschen in eurem Umfeld.
Vielleicht habt ihr Leute, mit denen ihr
euch sowieso total gut versteht, mit den
ihr euch wohlfühlt,
mit denen du das zusammen machen könnt.
Kann in eurem Hacker Space sein.
Das kann in der Uni sein, oder?
Leicht würdet ihr einfach drüber und ihr
findet Leute, mit denen er das zusammen
machen könnt, dann
ganz wichtig
um das auch durchzuziehen.
Durchzuziehen ist immer findet
einen festen Termin und wirklich eine
Uhrzeit, weil man
volle Terminkalender hat oder dann
doch häufiger mal Dinge unerwartet sind.
Ist es einfacher so ein Ding
durchzuhalten, wenn man sich einen festen
Termin dafür
sucht hat dann
gar nicht so unwichtig ist.
Einigt euch auf eine Programmiersprache.
Das kann eine Programmiersprache sein,
die ihr total gut kennt.
Es ist auf jeden Fall sinnvoll,
jemanden dabei zu haben, der sehr, sehr
sicher in dieser Programmiersprache ist.
Einfach weil man manche Sachen
gar nicht so sieht.
Und wenn dann Fragen aufkommt,
braucht man häufig auch jemanden, um
darüber zu sprechen.
Also das ist auf jeden Fall ein sehr
wichtiger Punkt.
Also wenn ich jetzt zum Beispiel an
meiner Uni eine coole Gruppe gründen
wollte.
Wir machen noch die gesamte
Ausbildung mit Java, dann würde
ich wahrscheinlich eine Gruppe gründen,
in der wir das tun, weil ich wüsste
Okay, die Wahrscheinlichkeit, dass ich
Leute finde, die das richtig gut können,
ist relativ hoch.
Und wenn dann Leute zu
uns stoßen möchten, die noch nicht so
viel programmieren, Erfahrung haben oder
noch nicht so sicher in dieser Programmiersprache
sind, dann könnten
wir denen auch helfen. Das heißt da auch
immer ganz wichtig Wenn ihr Leute mit
anderen Wissensstand dabei habt,
integriert die wirklich.
Lasst sie den Code vorlesen.
Lasst sie klären, was sie auch Fragen
stellen. Wenn sie irgendwas nicht kennen,
das ist überhaupt kein Drama, ist es nur
wichtig, dass sie es lernen.
Dann sucht euch ein cooles Projekt.
Das kann man mit unterschiedlichen
Motivationen tun.
Also entweder sagt man Okay, ich benutze
keine Ahnung.
Andauernd gibt.
Also gucke ich mir jetzt den Code von
gibt an, weil ich weiß ja, wie das Tool
funktioniert.
Und jetzt versuche ich mir den Code dazu
zu verstehen.
Oder man sagt Okay, ich möchte jetzt
irgendwie motiviert bleiben.
Ich suche mir jetzt ein Tool, was
vielleicht ein paar Fehler hat oder
wo man vielleicht mal so Kleinigkeiten
finden kann, um dabei zu bleiben.
Das ist so ein bisschen so, dass man bei
der Projekt Auswahl darauf achten kann.
Dann kann man natürlich auch noch den
Faktor mit einbeziehen, den Pfeil
oder ich vorhin schon erwähnt haben.
Man muss sich noch nicht sicher, wie man
mit sicherheitspolitischen Dingen umgehen
will. Wir werden uns das aus, was weniger
sicher als kritisch ist.
Vielleicht sucht man sich auch irgendwas
aus, wo ihr Community dahinter ist.
Das heißt, wenn ihr irgendwas gefunden
habt und jemanden braucht, ihr die fragen
könnt, dann könnt ihr dann auf jeden Fall
fragen.
Dann habt auf jeden Fall
Geduld.
Das ist ein ganz wichtiges
Thema. Also mit Geduld meine ich nicht so
Geduld, damit das bis das alles anläuft,
sondern wirklich, wenn ihr dann damit
anfangt und euch zum Beispiel.
Wir machen donnerstags abends immer
zwei Stunden am
Tag viel Geduld mit euch habt.
Ihr werdet nicht in den ersten zwei
Stunden vielleicht schon was finden.
Bei uns ist es manchmal so Palladium hat
dann schon was gefunden.
Sagt dann Ja hier.
Da. Da ist irgendwas.
Und dann fangen wir aber noch mal
sozusagen ganz von vorne an, gucken uns
das an und wir
kriegen dann manchmal so ein bisschen
Anschub Hilfe.
Dadurch gehen dann einige Sachen auch
schneller.
Aber wenn wir uns auch so alleine
was angucken.
Wir brauchen manchmal drei oder vier
Termine, bis wir was gefunden
haben. Bis dann auch alle das verstanden
haben. Manchmal poppen dann irgendwie
neue Fragen auf.
Also so coole Reviews und Fehler
in Code Videos finden ist
jetzt nicht so eine Sache, wo man einfach
so in einer Stunde in so ein Video
gehangen hat und dann so war.
Ja, wir haben jetzt hier alles fertig und
alle Fehler gefunden und
so weiter und so fort.
Weil man macht sich ja dann auch die Mühe
machen einen auf Konzept, dann fällt
vielleicht auf, dass etwas ganz anderes
falsch ist oder irgendwie doch was
komisch oder man noch auf einen
alten Fehler gestoßen ist.
Und macht euch auch
die Mühe dann euch auch zu überlegen,
gegebenenfalls wenn es
nicht zu viel Aufwand ist, wie man das
lösen kann.
Weil gerade in OpenSource Projekten
sind es nicht so viele Menschen, auf
deren Rücken das getragen wird.
Und die freuen sich im Zweifelsfall, wenn
ihr fix auch gleich mit anbieten könnt
und ihr habt dann auch was dazu
beigetragen.
Die letzten beiden Sachen im
Zweifelsfall nach, wenn ihr in eurer
Gruppe niemanden habt. Vielleicht kennt
jemand jemanden, der jemanden kennt,
dann frag den, wenn ihr euch unsicher
seid und es ist auch nicht
schlimm.
Dinge falsch zu machen oder Fragen
zu stellen. Eigentlich habe
ich die Erfahrung gemacht, dass ist immer
jemand da, der euch gerne
um das Problem erklärt
oder die Frage beantwortet, aber
formuliert vorher eine Frage und
stellt sie auch klar.
Und zu allerletzt
wie exzellent.
Alle sollen sich wohlfühlen
und das heißt
es wird öffentlich so doof es
klingt, niemand ausgelacht.
Es wird auch nicht gesagt Weißt
du das nicht?
Weil das dazu führt, dass Leute nicht
wiederkommen und b Leute auch irgendwie
keine Lust mehr haben, sowas zu lernen.
Und es ist eigentlich wichtig, dass
wir uns alle damit beschäftigen.
Und wenn ihr Lust habt, dann
solltet ihr auf jeden Fall die
Möglichkeit bekommen, das zu machen.
Und ich kann aus meiner Erfahrung sagen,
mich bringt es unheimlich viel weiter.
Einfach darin, Dinge zu
verstehen, zu verstehen, wie Software
funktioniert und
nicht einfach nur zu programmieren,
sondern mir auch mal Gedanken über andere
Dinge zu machen.
Damit bleibt
mir nur zu sagen.
Wir lieben Katzen, weil
wie cool Cat hier
also geht los, geht so
zum Code Reading Club gründet einen
für den Club.
Guckt euch Open-Source-Software an,
macht euch Gedanken.
Und wenn ihr irgendwie Fragen
habt, gerade so in dem Bereich.
Wir haben hier eine Gruppe gegründet
und bekommen jetzt hier gerade nicht
weiter.
Hier unten einmal mein Twitter Handel und
einmal die ZDF Gruppe
in Hamburg.
Ihr könnt mich einfach auf Twitter
erreichen und nachfragen.
Als Kritikos findet ihr mich auch
auf GitHub, wenn ihr auf
der Suche seid und was mir gerade noch
einfällt, dann haben wir nämlich noch gar
nichts gesagt. Ist
wie connected man sich eigentlich?
Also für uns hat sich rausgestellt, dass
das beste Ding eigentlich Gruppen
Kreuz in Signal sind.
Ihr könnt jetzt auch einen kleinen Screen
scheren. Das ist sehr praktisch.
Ansonsten benutzen wir, wenn
wir nicht geschlossen in unserer Gruppe
sind, sondern mal Menschen von außen dazu
zu Besuch.
DC Ähm,
teilen wir uns noch was zu unserem super
coolen technischen Komplex sagen
mit einem ich
kann nur sagen gerade
bei Videokonferenzen.
Ich glaube mit der Pandemie hat das jetzt
jeder kennen gelernt.
Läuft nicht immer so super.
Gerade auch was den Ablauf angeht.
Man kann zum Beispiel auch wunderbar,
wenn denn die Apparate
recht gering ist.
Zum Beispiel beim
Zerbröseln, auf den sich Animate
verwenden, dort eine Tamoxifen
aufbauen. Dann
kann man zum Beispiel machen, dass nur
einer das Tunnel bedienen darf.
Alle anderen können nur lesen oder aber
alle dürfen rein fragen.
Dann muss man sich natürlich trotzdem
nochmal koordinieren. Wer schreibt denn
jetzt gerade was? Weil ansonsten
ist es wirklich erst, wenn viele Leute an
einer Tastatur sitzen.
Aber auch das wäre durchaus
möglich und würde ja
heute auch Spaß machen.
Genau das dazu.
Und dann
sind wir hier mit durch.
Hoffen, dass ja schon das erste Repro
geklont hat
und es auf eurer Konsole offen habt
und freuen uns jetzt auf eure
in unserer Community Session.
Ab.
Das haben wir bisher nicht. Vielleicht
sollten wir mal mit Bianca Kasse
sprechen, wie das so ist mit
Kommunikation mit der Bundesregierung.
Das ist tatsächlich gerade noch so unser
Privat Projekt.
Wir sind gerade ganz hin und weg von den
ganzen Reaktionen.
Also vielleicht schaffen wir noch eine
kleine kulturelle Jugendbewegung
zusammen.
Hallo Jungs, dass du ja
gerne.
Also die Tester,
die sollten im
Idealfall ja bei einem PUBLIQUES zum
Beispiel noch mal mit reingeschrieben
geschrieben werden, um zu beweisen, dass
es sich um ein Problem handelt.
Ich habe das auch schon häufig genug
mitbekommen, dass es heißt Ja, danke für
die, für den, für
die Fehlerkorrektur.
Aber schreib doch mal ein Testfall.
Das heißt, man sollte es, wenn
man es denn hinzufügen kann, hinzufügen
und ansonsten hoffen, dass der Narayen
unterstützt.
Es gibt ja auch diverse Tests
Frameworks, da muss man sich noch
einarbeiten.
Also es ist eine gute Frage.
Ich glaube, es ist.
Es ist genauso, wie wenn man irgendwie
wissenschaftliche Arbeiten schreiben
lernen muss. Das hilft immer viel
Code zu lesen von anderen und ein Gefühl
dafür zu kriegen, wie man Dinge lösen
kann.
Man kommt aber trotzdem nicht drum herum,
sich eigene Projekte zu suchen und auch
wirklich selber zu programmieren, weil
man nur von Programmieren besser
im Programmieren wird.
An einigen Stellen.
So handhabe ich das zumindest.
Ich weiß nicht, ob da noch eine andere
Meinung zu hat.
Also die, welche man auf jeden Fall
mindestens eine Form von Feinschliff
durchzuführen. Das heißt, dass ich, wenn
ich mir die Historie von Projekten
ansehe, um zu lernen,
warum haben die sich für diverse Dinge
entschieden? Wann kam die Änderung rein
und warum?
Das heißt ja, ich würde
es vorschlagen.
Wenn man die Grundlagen beherrscht,
dann kann man sich auf jeden Fall
verbessern. Und reines Review,
um es zu erlernen, würde ich nicht
empfehlen.
Wir haben gerade Probleme mit unserem
Herald. Wie vorhin schon,
deswegen und nach einer kurzen
Unterbrechung geht's weiter.
Ich würde trotzdem noch an die
Frage anschließen, nämlich ob es eine
Hoy, eine Sammlung mit häufig gemachten
Fehlern gibt.
Genau.
Gibt es eine Sammlung mit häufig
gemachten Fehlern?
Ich würde jetzt einfach mal die Kurve
nehmen, den.
Ansonsten die
Dinge, auf die ich verweisen würde, wäre
over. Das heißt, dass
die Top Ten zum Beispiel
relativ gut aufzeigen, was es für
Probleme gibt. Auch fast schon
eine kurze Suche nach
der Programmiersprache, der Wahl und Bugs
dürfte glaube ich sehr viele
derartige Listen aufführen.
Ansonsten, wenn es um
das wäre auch noch möglich,
die man Pages zum Beispiel auf Linux
oder auf dem jeweiligen System haben da
ab und zu mal Notes oder andere Hinweise,
was dann mit einer bestimmten Funktion so
schieflaufen kann.
Danke schön, haben wir wieder Herald
Audio.
Die haben wir bisher ignoriert.
Sollen wir vielleicht noch hinzufügen?
Allerdings.
Ja, wir versuchen uns eher
auf den Quelltext zu konzentrieren, den
wir tatsächlich nutzen.
Und da sind die Textdateien meistens
nicht mit drin.
Sie haben immer noch Audio Probleme mit
unserem Herald.
Einen Moment bitte.
Die Frage war, wenn der gleiche Fehler
wieder gemacht wird in einem anderen
Projekt.
Das ist einfach, wenn ich eine falsche
Funktion verwendet habe.
Aber wie mache ich das? Wenn ich einen
Fehler gefunden habe, der ein Programmier
Prinzip verletzt hat, weiß
ich, es ist nicht mit Steuerung F quer
über alle Dateien suchen kann.
Wo ich das schon mal hatten, hatten wir
das schon mal bei Aldi.
Ich habe ein Projekt gesehen, das
im Google Open Source Bereich dafür
vorhanden ist, es mir der Name
entfallen, was ich auf jeden Fall
empfehlen kann.
Es geht fast schon in Steuerungen
Richtung aber Code Search
Punkt Debian punktet.
Das ist eine Internetseite von
Debian Projekt, bei dem man wunderbar
in allen Texten suchen kann.
Da kann man auch reguläre Ausdrücke
eingeben und uns irgendwann die Richtung
bekommen. Kann ich das empfehlen?
Die Beispiele dafür
als Audio
wäre zum Beispiel in
C. Es geht zum Beispiel, das heißt
übersetzt einlesen.
Sobald man die Funktion hat, kann man
sich die nächsten Zeilen dann auch meistens
angucken und man wird wohl irgendwas
finden.
Das heißt, es ist immer noch ein bisschen
Aufwand, den man da rein treibt.
Google hat auf jeden Fall noch mal
deutlich bessere.
Ja, es ist so ähnlich wie reguläre
Ausdrücke, die man anwenden kann.
Aber vielleicht kann ich ja
noch mal irgendwo.
Das Nachrechnen ist wiedergefunden.
Ich vertrete das dann gerne und dann
könnt ihr das auf meinem Twitter-Account
finden.
Ist unser Herald jetzt wieder da?
Wir versuchen noch mal einen Audio
Anlauf.
Das klingt alles nach ich.
Ein fremdes Programm kennen, arbeitet
ihr nicht zusammen und macht bei
jedem Commit auch gleich ein Video?
Ich glaube, ich verstehe die Frage nicht
so gut. Ich versuche mal so zu antworten,
wie ich sie verstehe. Also was wir in
unserer Gruppe machten ist ja keine
Open-Source-Software schreiben, sondern
wir nehmen uns nur Open-Source-Software
vor und reviewen die.
Und klar, wenn wir was gefunden
haben, dann schreiben wir auch ein Fix
dazu und Proof of Concept und
entsprechenden Pull Request.
Und natürlich, bevor wir das diesen
vorweg feststellen, gucken wir uns das in
der Gruppe noch mal genauer an.
Aber ich würde das jetzt nicht unbedingt
als Review schimpfen.
Review tun wir es dann, wenn der Rest
von Maintainer abgelehnt wurde.
Aus unterschiedlichen Gründen oder
irgendwas gefällt es, dann schreiben wir
es auch manchmal noch mal neu.
In der Regel gibt es dann das Projekt,
das wir uns gerade angeguckt haben mit
den wie Quests, da sind dann die
relevanten Punkte drin.
Ansonsten haben wir bisher das noch nicht
gemacht. Sollte da Interesse bestehen,
können wir natürlich gerne mal darüber
nachdenken.
Wir machen das tatsächlich im Moment so,
dass wir nur eine Person haben, die den
Bildschirm schert, und wenn man noch mal
individuell an seinem eigenen Gerät
mitarbeiten möchte, dann macht man das
in der IT, seiner Wahl.
Wir sind alle ziemlich harte
User.
Das ist nicht unbedingt ein
Einsteiger freundlich, aber
an der Idee sollte es in der Regel nicht
scheitern. Und wenn es dann irgendwie
codiert oder was auch immer euch besser
gefällt ist, kann man das auch
gut benutzen.
Ich würde da sonst vielleicht noch nicht
ganz bei der Sache anmerken.
Die gleiche Umgebung ich würde es sogar
bevorzugen, wenn es möglichst
unterschiedliche Umgebungen sind, weil
diverse Fehler zum Beispiel nur auf
64 Umgebungen
nur erscheinen, wenn bestimmte
Bibliotheken im Einsatz sind.
Das heißt, wenn das divers
sein kann, dann sollte das möglichst
divers sein. Das macht vielleicht die
Kommunikation teilweise schwieriger, aber
ermöglicht auf jeden Fall deutlich besser
Proof of Concept oder
andere Tests auszuprobieren.
Ich würde ja sagen einfach mal machen.
Also ich bestehe schon
fast darauf, dass wir das in mindestens
einem beruflichen Umfeld tun.
Es hilft deutlich gerade
ja, wer sich vielleicht durch unseren
Tod dazu inspiriert gefühlt hat, es mal
wieder durchzuführen, wird feststellen,
wie viel Aufwand es teilweise ist, sich
in die unterschiedlichsten Styles der
jeweiligen Projekte ausarbeiten.
Und wenn das alles gleich wäre, würde es
die Sache noch mal deutlich einfacher
machen.
Ja, eigentlich schon.
Das ist immer ganz lustig, gerade so
Coates Day CSD
Convention, wenn das so
pre Tschernobyl Code
wie er sagt,
es sind
uns auch ganz wichtig und manchmal ist es
auch höchst verwirrend sich erst mal da
rein zu denken und dann auch noch die
Sachen, wenn man sie fix im richtigen
Style zu fixen.
Hören wir herrschen wieder nicht.
Okay, die Frage war, wie wichtig
uns das sei, Konventionen sind und
wie, was wir zu Clean Code denken.
Das fand ich die beiden Fragen, die Palio
mich und ich beantwortet haben.
Ich guck mal kurz, dass
ich die nächste Frage zu fassen kriege,
sei denn es jetzt wieder zu hören.
Am.
Setzt.
Ich hoffe, man kann mich wieder hören.
Setzte Holst Code Analyse
ein.
Nee,
das machen wir ganz bewusst nicht, weil
wir sozusagen, auch wenn länger dauert,
unseren Fokus darauf haben zu verstehen,
was da wirklich passiert.
Und deswegen nutzen wir außer Palladium
als unser wandelndes Lexikon
keine Tools der Analyse.
Geht es beim Review nur darum, Bugs oder
potenzielle Schwachstellen zu finden
oder auch etwas kürzer
oder schneller zu machen?
Und habt ihr da praktische Beispiele?
Prinzipiell geht es darum, erst einmal
genau Fehler zu finden, aber
wenn uns auffällt, dass man das irgendwie
effizienter machen kann, dann
müssen wir das häufig auch.
Mir fällt jetzt gerade kein gutes
Beispiel dafür ein, da müsste ich glaube
ich mal in meiner Politikwechsels gucken.
Es sei denn, du hast jetzt gerade was aus
dem FF Palladium.
Habe ich jetzt so nicht, was wir
da mal gemacht haben.
Wenn es um die Unterscheidung geht
nur Bugs beheben oder auch Performance
Optimierung.
In beiden Fällen wäre es wichtig
aufzeigen zu können, dass das Problem
oder die, ja
die Performanz wirklich in
Mitleidenschaft gezogen ist.
Ich halte mich meistens
von Performance Optimierungen zurück.
Schon fast absichtlich, weil
das relativ schnell in Diskussionen
ausartet. Und da ist dann immer
die Frage wie gut
kann ich das mit einem Maintainer klären?
Gibt es darüber wirklich eine vernünftige
Grundlage, auf den man arbeiten
möchte? Mein Beispiel
Wenn ich sage meine ist mir zu langsam,
weil es nur ein paar Millisekunden, dann
wird das höchstwahrscheinlich darauf hinauslaufen,
dass es abgelehnt wird.
Weil mein Browser natürlich auf einmal 10
prozent schneller wäre, wäre es noch mal
was anderes. Aber ein Bug
ist da doch relativ schnell einfach,
ja fast schon ohne
Diskussion annehmbar.
Schaut man sich beim Radio und auch
Ebenen die Design, Patterns
oder ähnliches an.
Wir machen, würde ich jetzt so sagen,
nicht es sei denn, es fällt uns auf die
Füße und wir haben da gerade Lust drauf,
dass es irgendwie immer so von unserem
Mut abhängig. Wir machen das ja auch
für den Spaß an der Sache.
Und wenn wir gerade Spaß daran haben, das
auseinander zu pflücken, dann würden
wir es wahrscheinlich machen.
Und ja, ich weiß nicht
was hast du dazu noch eine Ergänzung?
Also Architektur, wie willst du dich auf
jeden Fall grundsätzlich empfehlen?
Zumindest wenn man dir die Zeit dafür
hat. Es ist aber dann eben auch der
Punkt, was dabei rumkommt.
Eine Architektur, Entscheidungen, die man
anzweifelt. Das wäre
ich fast schon höchstens als geschoren
hängen. Weil wenn man dann auf einmal ein
Politikfeld hat, ja das den ganzen
Quelltext umbaut, ist die
Wahrscheinlichkeit groß, dass das nicht
einfach so durchkommen wird und
dementsprechend fokussieren.
Fokussieren wir uns meistens auf das, was
da ist. Bewerten für uns dann natürlich
für das, was wir sehen.
Ohne mit dieser Bewertung dann großartig
auf die Welt zuzugehen, zu sagen Hier
guck mal, wir haben ein Projekt XY
prozent angesehen und das ist doof.
Das ist natürlich nicht, aber durch das
Video allein wird man irgendwann ein
Gefühl, ein Gefühl dafür bekommen,
ob das, was man da sieht, wirklich gut
war oder schlecht.
Und diese Erkenntnisse kann man auf jeden
Fall für sich selbst mitnehmen.
Geht die auf den Mond hängenden direkt
zu, bevor ihr Intro aktiviert
oder macht sie es dann mit
den Quests beim
Repo nach dem
Livio?
Bisher haben wir das noch nicht gemacht.
Wir haben, wenn wir was gefunden haben,
was wir vielleicht auch als kritisch
ansehen würden. Im besten Fall noch mal
die Maintainer direkt gefragt, bevor wir
da irgendetwas öffentlich zur Schau
gestellt haben.
Genau.
Kennt ihr Gruppen, die gerne bei Public
Decode Projekten mitregieren würden?
Wir kennen nur uns und die genannten
Links.
Ich glaube, mehr kann ich da gar nichts
zu sagen.
Alles andere müssten wir Gruppen intern
besprechen.
Danke, wir haben leider nicht alle Fragen
geschafft, aber ich habe
bis jetzt noch kein so lange schon gehabt
und die
tollen Vortragenden haben leider auch
noch andere Projekte, bei denen sie dabei
sein wollen.
Und ich versuche stellt euch!
Stell dir sonst gerne die Fragen bei
Twitter und Palladium und ich versuche
so gut wie möglich zu beantworten.
Ich denke, dass.
Wann die nächste News so ist
Es wird hier gerade auf dem ORF gefragt,
wann die nächste News Show ist, die
nächste News Show ist um 14.30.
Falls sie mein Gesicht bis dahin schon
vermisst, dann ist das natürlich eine
Option.