32 Punkte von kciter1 2023-12-15 | 9 Kommentare | Auf WhatsApp teilen
  • Was ist Schönheit?
    • Schönheit ist ein Wert, den Menschen empfinden
    • Etwas, das Überraschung, Neuheit, Stabilität, Komfort und Einfachheit vermittelt
    • Sie lässt sich in das Überraschende und das Natürliche unterteilen
    • Um Schönheit (Erkenntnis) zu empfinden, ist ein gewisses Grundwissen nötig
    • Schönheit dient dem Überleben. Wenn wir auf etwas stoßen, das wir nicht verstehen können, empfinden wir Unbehagen
  • Definition von schönem Code
    • Code arbeitet nicht allein, daher gilt: Je schöner er ist, desto besser
    • Im Idealfall Code, bei dessen Lesen man an keiner einzigen Stelle hängen bleibt
    • Natürlicher Code ist gut
  • Vier Elemente, aus denen schöner Code besteht
    • sozial, vertrauenswürdig, linear und deklarativ
      • Die sozialen und vertrauenswürdigen Aspekte streben nach Stabilität
      • Die linearen und deklarativen Aspekte streben nach Ästhetik
    • Sozialer Code
      • Code, der alle Umstände im Umfeld berücksichtigt
      • Das Befolgen von Konventionen, Regeln und Zielen
      • Ähnlich zur sozialen Natur von Sprache
    • Vertrauenswürdiger Code
      • Code, den man vertrauensvoll verwenden kann
      • Wenn man ihm nicht vertrauen kann, wird er zu Code, den man selbst überprüfen muss
      • Aspekte wie Pure Functions, Idempotenz und Side Effects werden berücksichtigt
      • Da Side Effects nie vollständig ausgeschlossen werden können, kann man durch Dokumentation oder Exceptions darauf hinweisen
    • Linearer Code
      • Code, den man beim Lesen nur einmal von oben nach unten lesen muss
      • Linearität erleichtert aus neurowissenschaftlicher Sicht die Verarbeitung im Arbeitsgedächtnis
    • Deklarativer Code
      • Code, der klar mitteilt, was er tut
      • Es ist gut, passende Namen zu vergeben
      • Aus neurowissenschaftlicher Sicht ist er für das Kurzzeitgedächtnis leichter zu verarbeiten
  • Realistisch betrachtet
    • Schöner Code entsteht nicht auf einen Schlag
    • Perfekt schöner Code ist selten
    • Deshalb braucht es das Konzept der schrittweisen Verbesserung und der Code-Veredelung
    • Schrittweise Verbesserung
      • Refactoring durchführen
      • Durch wiederholtes Prüfen und Verbessern dauerhaft eine Qualität von 70–80 % aufrechterhalten
      • Wann sollte man prüfen und verbessern?
        • Wenn die Code Ownership verschwimmt
          • Wenn das Wissen über den geschriebenen Code verblasst
        • Wenn man einen schlechten Geruch wahrnimmt
          • Wenn man sich beim Blick auf den Code unwohl fühlt
    • Code-Veredelung
      • Code so gestalten, dass er schön wirkt
      • Typischerweise kommen dabei Tests, Code Reviews, Dokumentation und Kommentare zum Einsatz
      • Tests
        • Machen den Code vertrauenswürdiger
        • Garantieren das Funktionieren, und die Tests selbst können Dokumentation sein
      • Code Reviews
        • Machen den Code durch Validierung vertrauenswürdiger
        • Da sie Code Ownership weitergeben, können sie auch die soziale Komponente des Codes stärken
        • Bedingungslose Code Reviews können allerdings zu einem Bottleneck werden
      • Dokumentation
        • Macht den Code verständlicher
        • Dokumentation ist dann nötig, wenn andere Entwickler Kontext, Design und Regeln dieses Codes verstehen müssen
        • Mit Werkzeugen wie UML ist es noch besser
      • Kommentare
        • Unvermeidbar komplexe Code-Bereiche erklärt man besser mit Kommentaren als mit Dokumentation
  • Codequalität ist wichtig, aber schöner Code garantiert nicht zwangsläufig Erfolg
    • Unter Umständen sollte man eher Design oder Arbeitsprozesse stärker berücksichtigen
    • Codequalität garantiert nicht unbedingt Produktqualität

9 Kommentare

 
elects 2023-12-19

hahahahaha

 
yangeok 2023-12-19

Gesellschaftlich orientierter Code ist wohl wichtig, haha.

 
mhj5730 2023-12-18

Ich finde, das ist ein gut strukturierter und lesenswerter Text. Wenn in eurem Team häufiger Probleme aufgrund der Code-Qualität auftreten, wäre er sicher auch gut geeignet, ihn gemeinsam zu lesen und darüber zu diskutieren.

 
ryuheechul 2023-12-16

Ein Thema, das schwer verständlich sein könnte, liest sich hier aber sehr flüssig. Vielen Dank!

 
acsdskim2023 2023-12-15

Ja, schrittweise Verbesserungen sind eben wichtig. Man kann schließlich nicht gleich beim ersten Versuch alles perfekt machen.

 
saalome 2023-12-16

Das Hobby, in dem eigenen geschriebenen Code ästhetische Schönheit zu empfinden, sollte einfach eine persönliche Perspektive bleiben. Bitte werden wir nicht zu Seniors, die als bezahlte Profis den Company-Code aus einer künstlerischen Perspektive angehen und Juniors auch noch eine seltsame Denkweise einimpfen. Oder hört als Entwickler auf und malt Bilder oder so – was soll dieses ganze Gerede von Kunst ...

 
pastelcolors 2023-12-18

Sie haben sich wohl im Wort „Schönheit“ verrannt.

 
aiana 2023-12-18

Der junge Mann, der nur den Titel liest

 
gcback 2023-12-17

Hm, das war schon ziemlich übertrieben.