Testmanager gesucht? Kontaktiere mich!

Bessere Softwarequalität durch kleine Beweise im Kopf Um ein besserer…

Blog Image

Bessere Softwarequalität durch kleine Beweise im Kopf

Um ein besserer Programmierer zu werden, sollte man während des Schreibens von Code kleine Beweise im Kopf skizzieren. Dies hilft, den Code schneller und genauer zu schreiben. Es handelt sich um eine Technik, die mir unbewusst mehr geholfen hat, je weiter ich in meiner Karriere voranschritt. Wenn man an etwas Schwierigem arbeitet, sollte man währenddessen einen Beweis im Kopf skizzieren, dass der Code tatsächlich das tut, was man möchte. Diese einfache Idee ist jedoch einfacher gesagt als getan: Es erfordert viel Übung, dies "online" zu tun, ohne den Arbeitsfluss zu unterbrechen. Aber wenn man wirklich gut darin wird, wird man feststellen, dass der Code überraschend oft beim ersten oder zweiten Versuch funktioniert. Es fühlt sich ein wenig magisch an.

Es gibt viele Möglichkeiten, dies umzusetzen, und ich möchte nicht zu vorschreibend sein. Ich werde nur einige Beispiele für die Arten von Dingen auflisten, über die ich währenddessen nachdenke, damit Sie eine allgemeine Vorstellung bekommen.

Monotonie

Ein wichtiger Punkt, auf den man bei der Beweisführung über den eigenen Code achten sollte, ist, welche Teile monoton sind. Sie sind wahrscheinlich mit monotonen Funktionen aus der Mathematik vertraut. Informell sind das Funktionen, die nicht "zurückgehen" – d.h. eine monotone Steigerungsfunktion kann nur steigen oder gleich bleiben, während eine monotone Abnahme nur abnehmen oder gleich bleiben kann (diese werden auch als nicht abnehmende und nicht zunehmende Funktionen bezeichnet). Das Konzept des monotonen Codes ist etwas diffuser als das Konzept einer monotonen Funktion, aber es erfasst die gleiche Idee eines Prozesses, der nur in eine Richtung voranschreiten kann.

Checkpointing ist ein großartiges Beispiel für Monotonie. Wenn Sie zum Beispiel ein Skript haben, das mehrere Aufgaben nacheinander ausführen muss, können Sie einen Zustand auf der Festplatte speichern, der angibt, wie viele Aufgaben Sie bisher abgeschlossen haben. Wenn etwas schief geht und Ihr Skript abstürzt, kann es den Zustand auf der Festplatte überprüfen, um herauszufinden, wie weit es gekommen ist, und dann wieder vom frühesten noch nicht ausgeführten Zustand aus starten.

Checkpointing bedeutet, dass der "aktuelle Schritt" -Zeiger in Ihrem Skript nur vorwärts gehen kann, da das Skript nicht zurückgehen und einen Schritt erneut ausführen kann, den es bereits getan hat. In diesem Sinne schreitet das Skript monoton voran, und es ist offensichtlich, dass wenn das Skript jemals erfolgreich abschließt, es jeden Schritt genau einmal ausgeführt haben wird. Das Führen dieses Aktivitätsprotokolls ist eine einfache Idee, die oft an überraschenden Orten auftaucht, wie beispielsweise bei journaling-Dateisystemen und Datenbank-Write-Ahead-Logs.

Quelle: https://the-nerve-blog.ghost.io/to-be-a-better-programmer-write-little-proofs-in-your-head/

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen