Julia Evans
14.07.2021, 08:24 Uhr
Gute Code-Beispiele schreiben
Wer über Programmierung schreibt, sollte das anhand von Beispielen tun. Wie man zu guten Code-Beispielen gelangt hat die kanadische Softwareentwicklerin und Zeichnerin/Verfasserin von Code-Comics Julia Evans in einem Blogbeitrag skizziert.
Realistische Beispiele helfen, das Konzept, das Sie zu erklären versuchen, zu "verkaufen". Julia Evans sagt: "Wenn ich versuche, eine Idee zu erklären (wie Python-Lambdas), versuche ich normalerweise auch, den Leser davon zu überzeugen, dass es sich lohnt, sie zu lernen! Python-Lambdas sind super nützlich! Und um jemanden davon zu überzeugen, dass Lambdas nützlich sind, hilft es wirklich, jemandem zu zeigen, wie Lambdas ihm helfen könnten, eine Aufgabe zu erledigen, die er sich tatsächlich vorstellen kann, und idealerweise eine Aufgabe, die er schon einmal gemacht hat."
Die Grundidee für das Finden guter Code-Beispiele liegt also darin, mit echtem Code zu beginnen, den man selbst geschrieben hat und dann irrelevante Details zu entfernen, um daraus ein in sich geschlossenes Beispiel zu machen, anstatt Beispiele aus dem Nichts zu erfinden.
Gute Beispiele, sagt Julia Evans, sind realistisch. Nicht realistisch ist es das Quadrieren von Zahlen als Beispiel für Python-Lambdas heranzuziehen. Hauptgrund: Das Quadrieren einer Zahlenmenge ist nichts, was man mit großer Wahrscheinlichkeit in einem echten Programm machen wird. Ein realistischeres Beispiel für Python-Lambdas ist die Verwendung mit sort, etwa so:
kinder = [{"name": "ashwin", "alter": 12}, {"name": "radhika", "alter": 3}]
sort_children = sorted(children, key=lambda x: x['age'])
Hinterfragt man dieses Beispiel, etwa danach, warum die Kinder nach Alter sortiert werden sollten, zeigt sich auch dieses Beispiel noch als ziemlich konstruiert.
Wirklich realistisch wird ein Beispiel, wenn es tatsächlich geschriebenen Code zur Grundlage hat. Es kann zwar ein wenig aufwändiger sein, den echten Code vom für das Beispiel störenden Ballast zu befreien, aber der echte Code verkauft das Anliegen für welches das Beispiel gewählt wurde viel besser. Wie oben gesagt: Am besten handelt es sich um Code, der ein Problem elegant löst, das der Zuhörer/Leser bereits selbst einmal bearbeitet hat. Für das Beispiel Python sort mit Lambda nennt Evans gleich ein ganzes Bündel von Beispielen, die sie in ihrem tatsächlichen Code findet, zum Beispiel die Sortierung einiger Kalenderereignisse nach ihrem Unix-Zeitstempel:
events = [
{ 'date': 1625837042, 'name': 'birthday party'},
{ 'date': 1620581136, 'name': 'dinner with Yifei'},
{ 'date': 1589045136, 'name': 'dentist appointment'},
]
sorted_events = sorted(events, key=lambda x: x['date'])
Den kompletten Beitrag von Julia Evans finden Sie hier, ihre Zines, Poster und Comics bietet sie im Web auf dieser Seite an.