Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 3 Min.

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.

Neueste Beiträge

Generative AI und Python - Python und AI, Teil 4
Generative KI mit Python nutzen und so die Basis für eigene Anwendungen schaffen.
7 Minuten
Chunks mit Köpfchen - KI für KMU, Teil 1
Wie trenne ich Textinformationen in sinnvolle Segmente?
7 Minuten
Hierarchische Testdata-Builder - Testdata-Builder, Teil 1
Lesbare Tests bei tiefen Objekthierarchien mit dem Collection-Builder-Pattern.
4 Minuten
Miscellaneous

Das könnte Dich auch interessieren

Wexflow: .NET Open Source Workflow-Engine - CodeProject
Wexflow ist eine quelloffene und plattformübergreifende Workflow-Engine und Automatisierungsplattform, die darauf abzielt, wiederkehrende Aufgaben zu automatisieren.
2 Minuten
C#-.NET-Apps mit WinUI 3 - Komponentenbasierte Apps mit Fluent/FAST, Teil 3
Microsoft macht mit WinUI 3 ein natives User-Experience-Framework für Windows verfügbar, dessen Komponenten auf dem Microsoft-eigenen Design-System Fluent 2 basieren.
23 Minuten
13. Mai 2024
VBUC: Konvertiert VB6-Code nach .NET und .NET Core - Mobilize.Net
Mobilize.Net wird von einem ehemaligen Microsoft Corporate VP gleitet und hat jetzt sein VB6-Upgrade-Tool aktualisiert. Es konvertiert VB6-Code nun sowohl nach .NET als auch nach .NET Core.
2 Minuten
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige