Warum überprüfen wir Code?

Feb 17 2023
So überprüfen Sie Code, ohne die Zeit aller zu verschwenden (Teil 1)
Als iOS-Entwickler habe ich Tausende Codezeilen von meinen Kollegen überprüft. Wie beim Programmieren fühlt man sich beim Überprüfen von Code entweder schlau oder völlig dumm.
Bildnachweis: GitHub, Volvo Cars

Als iOS-Entwickler habe ich Tausende Codezeilen von meinen Kollegen überprüft. Wie beim Programmieren fühlt man sich beim Überprüfen von Code entweder schlau oder völlig dumm.

Dies liegt an den Hauptproblemen bei Codeüberprüfungen:
1. Die Leute wissen nicht wirklich, warum sie Code überprüfen.
2. Die Leute bewerten nicht die richtigen Dinge.
3. Die Pull Requests sind nicht überprüfbar.

In diesem Artikel konzentrieren wir uns darauf, warum wir Code überprüfen.

Einige der Gründe

Diese Frage habe ich vielen Kandidaten in Vorstellungsgesprächen gestellt und sehr unterschiedliche Antworten erhalten. Code wird häufig überprüft, weil es sich um eine bekannte bewährte Vorgehensweise handelt, ohne näher darauf einzugehen, warum es sich tatsächlich um eine gute Vorgehensweise handelt.

Um herauszufinden, warum wir Code überprüfen, ist die beste Frage, die wir uns stellen können: Warum sollten wir wollen, dass jemand anderes unseren Code überprüft?

Hier sind einige der Gründe:

  • Wir möchten wissen, ob der Code von jemand anderem als uns verstanden werden kann.
  • Wir möchten andere verwirrende Bereiche identifizieren, z. B. Variablennamen, Klassen, Methoden usw.
  • Wir wollen ein weiteres Augenpaar, das uns daran erinnert, wenn wir etwas vergessen haben (z. B. wenn wir in letzter Minute einen Variablennamen geändert haben und ein Designfehler offensichtlich wurde).
  • Wir möchten von unseren Kollegen lernen, ob ein besserer Ansatz zur Lösung desselben Problems gewählt werden könnte.
  • Wir haben einen Tippfehler gemacht und eine Variable „tmoato“ anstelle von „tomato“ genannt, sodass eine Klasse, die früher Gemüse zählte, jetzt anscheinend stattdessen Maya-Götter beschwört.

Wenn Sie sich die Liste genau ansehen, stellen Sie möglicherweise fest, dass es nur zwei Punkte auf der Liste gibt, für die tatsächlich mehr Personen benötigt werden.

Dies ist eine Besonderheit von Code-Reviews. Wenn Sie eine Pull-Anfrage erstellen, sind Sie in den meisten Fällen die beste Person, um sie zu prüfen. Sie werden Tippfehler und so ziemlich alles bemerken, was Sie vergessen haben.

Entwickler sind damit nicht allein. Schriftsteller tun dasselbe.

Es ist bekannt, dass Stephen King drei Entwürfe durchgeht, bevor er einen Roman an den Verlag schickt. Vom ersten bis zum zweiten Entwurf bittet er nicht einmal um Feedback, sondern überprüft es selbst.

Kommt Ihnen das bekannt vor?

Versuche es.

Wenn Sie das nächste Mal eine Pull-Anfrage erstellen, überprüfen Sie diese zunächst selbst. Bitten Sie dann jemanden, es zu überprüfen. Sie werden Ihnen wahrscheinlich wertvolles Feedback geben, z. B. schwer verständliche Bereiche oder schlechte Entscheidungen beim API-Entwurf.

Verstehen, warum

Wenn Sie Ihren eigenen Code überprüfen, können Sie die meisten Tippfehler, fehlenden Tests oder grundlegende Fehler leicht erkennen. Wenn Sie jedoch glauben, dass das Wort „Chief“ mit „Chef“ geschrieben wird, werden Sie immer noch über Köche sprechen, wenn Sie über Führungskräfte sprechen möchten. Ein weiteres Augenpaar kann Ihnen dabei helfen, die letzten Details zu finden, die Ihren Code aufpolieren.

Wenn Sie jedoch beim Überprüfen von Code nur die Bereiche kommentieren, die jemand selbst überprüfen könnte, verfehlen Sie wahrscheinlich das Wesentliche.

Bei Codeüberprüfungen geht es darum, Feedback zu erhalten, Klarheit zu schaffen und sicherzustellen, dass das, was Sie verstehen, von anderen verstanden werden kann.

Was kommt als nächstes?

Nachdem Sie nun wissen, warum wir Code überprüfen, müssen wir besser verstehen, was überprüft werden muss und wie dies erfolgen sollte. Einige der Antworten habe ich in diesem Artikel gegeben, aber ich werde tiefer in die Materie einsteigen und konkrete Beispiele liefern.

Sie können Volvo Cars Engineering folgen , wenn Sie über die Veröffentlichung des nächsten Artikels informiert werden möchten. Auf diese Weise unterstützen Sie auch viele Ingenieure beim Austausch von Erkenntnissen und Erkenntnissen.