Why You Shouldn't Nest Your Code

CodeAesthetic
6 Dec 202208:29

Summary

TLDRDer Sprecher bezeichnet sich als 'never nester' und erläutert, dass zu tiefes Verschachteln von Code die Lesbarkeit und Wartbarkeit erschwert. Er beschreibt Nesting als das Hinzufügen innerer Blöcke zu einer Funktion, was deren Komplexität erhöht. Um dies zu umgehen, stellt er zwei Techniken vor: Extraktion, bei der Teile einer Funktion in separate Funktionen verschoben werden, und Inversion, bei der Bedingungen umgedreht werden, um klare Codepfade zu schaffen. Der Sprecher betont die Bedeutung von Lesbarkeit und verweist auf die Richtlinien des Linux-Kernels, die eine Begrenzung der Einrückung empfehlen, um die Codequalität zu verbessern.

Takeaways

  • 😀 Ein 'Never Nester' ist ein Programmierer, der seinen Code nicht tief schachtelt.
  • 😀 Das Schachteln von Code erhöht die Komplexität und macht ihn schwerer verständlich.
  • 😀 Funktionen sollten nicht tiefer als drei Ebenen geschachtelt sein, um die Lesbarkeit zu gewährleisten.
  • 😀 Zwei Methoden zur Entschachtelung von Code sind: Extraktion und Inversion.
  • 😀 Bei der Extraktion wird ein Teil der Funktion in eine eigene Funktion ausgelagert.
  • 😀 Die Inversion kehrt Bedingungen um und verwendet frühzeitige Rückgaben, um die Verschachtelung zu reduzieren.
  • 😀 Durch die Anwendung von Inversion wird der Hauptcode von Fehlerbedingungen getrennt.
  • 😀 Ein Beispiel verdeutlicht die Herausforderungen bei stark geschachtelten Funktionen, insbesondere bei der Fehlerbehandlung.
  • 😀 Das Aufteilen von großen Funktionen in kleinere, übersichtlichere Funktionen verbessert die Wartbarkeit.
  • 😀 Linus Torvalds befürwortet die Begrenzung der Schachtelung, um qualitativ besseren Code zu fördern.

Q & A

  • Was ist ein 'never nester' in der Programmierung?

    -Ein 'never nester' ist ein Programmierer, der es vermeidet, seinen Code stark zu verschachteln. Stattdessen bevorzugt er flachen, lesbaren Code.

  • Warum ist stark verschachtelter Code problematisch?

    -Stark verschachtelter Code kann schwer zu lesen und zu verstehen sein. Je mehr Ebenen der Verschachtelung vorhanden sind, desto schwieriger wird es, die Logik des Codes zu folgen.

  • Was ist die 'disgust-o-meter' und wie funktioniert sie?

    -Das 'disgust-o-meter' ist ein informelles Maß, das die Abneigung eines Programmierers gegenüber tiefer Verschachtelung anzeigt. Es wächst, wenn die Anzahl der Tabs oder Ebenen im Code zunimmt.

  • Was sind die zwei Methoden zur Entnestung von Code?

    -Die zwei Methoden sind 'Extraction' (Extraktion) und 'Inversion' (Umkehrung). Extraktion bedeutet, Teile der Funktion in eigene Funktionen auszulagern, während Umkehrung die Bedingungen umkehrt und eine frühzeitige Rückgabe ermöglicht.

  • Wie wird die Extraktion in der Programmierung angewendet?

    -Bei der Extraktion zieht man Teile des Codes, die logisch getrennt sind, in eigene Funktionen, um die Lesbarkeit und Wartbarkeit des Hauptcodes zu verbessern.

  • Was bedeutet Umkehrung im Kontext der Programmierung?

    -Umkehrung bedeutet, dass man Bedingungen umdreht und den 'unhappy path' zuerst behandelt, um die Hauptlogik des Codes zugänglicher und weniger verschachtelt zu machen.

  • Kannst du ein Beispiel für eine Funktion geben, die von der Extraktion und Umkehrung profitiert?

    -Ein Beispiel wäre eine Funktion, die mehrere Dateidownloads verwaltet. Durch die Extraktion der Logik für ausstehende und laufende Downloads in separate Funktionen kann der Code erheblich klarer und einfacher zu verfolgen werden.

  • Was sagt Linus Torvalds über Verschachtelung in Code?

    -Linus Torvalds hat in den Linux-Kernel-Stilrichtlinien angegeben, dass mehr als drei Ebenen der Einrückung problematisch sind und dass der Code in einem solchen Fall überarbeitet werden sollte.

  • Wie hilft eine Begrenzung der Einrückung, bessere Programmierung zu fördern?

    -Eine Begrenzung der Einrückung zwingt Programmierer dazu, klarere, prägnante Funktionen zu schreiben, die eine einzige Verantwortung haben, was die Lesbarkeit und Wartbarkeit des Codes verbessert.

  • Welche Auswirkungen hat die Verwendung von acht Leerzeichen als Tabulatorgröße auf die Codequalität?

    -Die Verwendung von acht Leerzeichen als Tabulatorgröße macht die Probleme einer tiefen Verschachtelung sofort sichtbar und fördert somit die Anwendung von besten Praktiken in der Programmierung.

Outlines

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Mindmap

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Keywords

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Highlights

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Transcripts

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now
Rate This

5.0 / 5 (0 votes)

Related Tags
Code OptimierungProgrammierungEntwicklerFehlerbehandlungNestingLinus TorvaldsCode QualitätAsync DownloadsFehlervermeidungKern-Programmierung
Do you need a summary in English?