Yonatan Doron hat vor kurzem einen Beitrag auf Medium veröffentlicht mit dem Titel „Art of Code — Why you should write more Pseudo Code.“ Ich liebe diesen Titel, da ich selbst ein Fan von Pseudocode bin. Das heißt, „Code“ zu schreiben, der etwas beschreibt, das man tun oder kommunizieren möchte, aber der keiner bestimmten Sprache angehört und keine korrekten APIs oder ähnliches verwendet.
Wenn man sich die Zeit nimmt, kommentierten Pseudocode zu schreiben, hilft das, unsere Gedanken, Motivation und den gewünschten Ergebniscode im Voraus zu organisieren und zu planen. Dadurch, dass man dies tut, hat man, wenn man später mit dem Hacken beginnt, immer diese Karte oder dieses Skelett der eigenen Gedanken zur Hand, die helfen können, den Fokus wiederzuerlangen und die Produktivität zu steigern.
Jeremy Keith hat es einmal verglichen mit dem Schreiben eines Drehbuchs
„Wenn der Benutzer ein Formular absendet, dann zeige ein modales Dialogfenster mit einer Bestätigung.“ Ich habe sie dann ermutigt, ein Skript zu schreiben … aber ich meine kein Skript im Sinne von JavaScript; ich meine ein Skript im Sinne von Drehbuchschreiben oder Theater. Schreibe Schritt für Schritt jeden einzelnen Schritt auf, den du erreichen möchtest. Sobald du das getan hast, übersetze jede Zeile deines englischen (oder portugiesischen) Skripts in JavaScript.
Ich habe gesehen, wie Pädagogen diese Technik immer wieder angewendet haben. Aber sie ist nicht nur für Lehrer und Schüler zum Lernen gedacht – sie kommt jedem zugute. Ich ertappe mich selbst dabei, wie ich Pseudocode schreibe, bevor ich echten Code schreibe, sicher, aber manchmal lasse ich ihn auch in Code-Kommentaren stehen. Am häufigsten mache ich das in Notion-Dokumenten oder in Slack-Gesprächen, um einen Punkt zu verdeutlichen.
Auch einfache Ideen
if env.dev
stop email delivery
Alles, was Logik und Verzweigungen oder schrittweise Teile enthält, profitiert stark davon. Beachte, dass Code kein gültiger Code ist. Er ist in keiner Sprache, die mir einfällt, gültig. Manchmal füge ich aus Muskelgedächtnis zufällige Klammern oder ein Semikolon ein. Wen kümmert’s? Es geht nur darum, eine Idee an mich selbst oder an jemand anderen zu kommunizieren.
if (grid is supported)
use grid
else
lay out things in a basic row with flexbox
Es ist natürlich. Die Chancen stehen gut, dass sie sich auch nicht um die Syntax kümmern werden, sondern einfach die Idee verstehen.
on form submit
validate
if errors
show errors;
else
submit to api;
if api success
show ui success;
else
show ui fail;
(Nachdem ich diese aufgeschrieben hatte, musste ich an uilang denken. Schau dir an, wie die Codeblöcke in natürlicher Sprache dort funktionieren.)
In Yonatans Artikel fehlten reale Beispiele für Pseudocode, also fragte ich herum. Schau dir all diese tollen Beispiele an!
Mein ganzes Notizbuch ist ein Pseudo…
Diese werden in Kommentare übertragen, bevor ich mit dem Codieren beginne, damit ich weiß, was ich tue & was ich später getan habe pic.twitter.com/9vfJYfweDh
— Ruth John (@Rumyra) 28. Mai 2019
Whiteboards sind fantastisch, um Pseudocode zu schreiben und Grafiken hinzuzufügen. pic.twitter.com/56FUu4rhmU
— norom (@_norom_) 28. Mai 2019
Oh, das habe ich früher gemacht, vor langer Zeit…. pic.twitter.com/lQi4Y8RhwP
— Ben Koppenens (@bkoppenens) 28. Mai 2019
Die ganze Zeit! pic.twitter.com/YFVVNwls5M
— Bryan (@iamBryanSanders) 28. Mai 2019
Der Versuch, gleichzeitig mit JavaScript und PHP zu arbeiten, kann manchmal etwas knifflig sein pic.twitter.com/Xp0bQyV86D
— frankie | webdev (@azoicx) 29. Mai 2019
Späteintrag. Schnelle Karte von Skripten. pic.twitter.com/n1kYDxKgya
— Adam Styles (@thelibstyles) 31. Mai 2019
Ich bin ein wenig überrascht, wie viel davon auf Papier ist! Das ist ziemlich cool, wirklich. Nur seltsam für mich, da ich Papier fast nie benutze. Wahrscheinlich sollte ich das tun.
Ich wusste nicht, dass es dafür einen Namen gibt! Bei jedem bedeutenden Codierungsstück oder Projekt schreibe ich solche Dinge auf! Und auf Papier!
Ja, dafür gibt es einen Namen :) Und ich freue mich, festzustellen, dass viele Leute, auch wenn sie den Begriff nicht kennen, ihn täglich verwenden. Oft wird er auf Papier geschrieben.
Ich schreibe immer Pseudocode-Zeilen, wenn ich Bedingungsaussagen formuliere. Komischerweise schreibe ich diese nicht als Code-Kommentare, sondern auf mein Whiteboard. Ich brauche eine klare Visualisierung der verschiedenen Ergebnisse. Toller Artikel, Chris!
Ich habe früher meine eigenen Notizen in Meetings gemacht, auch wenn jemand ein Protokoll schrieb. Es ist viel einfacher zu verstehen, wenn es Pseudocode anstelle von vielen Sätzen ist :-)