Etikette für die Rückkehr der Arbeit anderer


8

Kürzlich hatte ich einen Streit mit einem Teamkollegen, dass ich "sie nicht konsultiert habe, bevor ich zurückgekehrt bin", weil sie dadurch "wie ein Idiot aussehen". (Für den Kontext ist dies ein Universitätsprojekt, und das Zurücksetzen erfolgte über die Code-Platzierung.)

Ich frage mich daher: Was ist die Norm, um den Committer darüber zu informieren, dass ein Revert durchgeführt werden muss? Wie können Sie ihnen sagen, dass Sie dieses Commit rückgängig machen müssen, ohne harte Gefühle hervorzurufen?


Fragen Sie die Person "Hey, macht es Ihnen etwas aus, wenn ich Ihren Code so ändere ...?"
Bryan Oakley

Antworten:


11

Haben Sie Code-Bewertungen.

Das sollte die meisten von ihnen lösen. Wenn Sie ein Commit verwenden, können Sie trotzdem Pull-Anfragen stellen, auch wenn nur eine andere Person Ihr Team überprüft.

Wenn Fehler eintreten, ist das Team schuld und nicht nur eine Person.

Wenn Sie das aus irgendeinem Grund nicht möchten, gibt es keine einfache Möglichkeit, dies zu tun. Sie haben keinen Prozess, um Code in das Repo zu bekommen. Seien Sie also nicht überrascht, wenn die Gefühle der Leute verletzt werden.

Wie so oft ist es normalerweise gut, wenn Sie auf Situationen stoßen, in denen Sie Dinge tun, die andere frustrieren, zuerst mit ihnen zu sprechen, bevor Sie die Aktion ausführen. In diesem Fall bedeutet es wahrscheinlich, mit Ihrem Kollegen zu sprechen und zu fragen: "Ich denke aus [Gründen] daran, X zurückzusetzen - was denken Sie?"


Nach meiner Erfahrung kann es jedoch äußerst schwierig sein, Codeüberprüfungen für Universitätsprojekte durchzuführen. Alle meine Projekte an der Universität hatten Mühe, eine Zeit zu finden, um alle in den gleichen Raum zu bringen! In der Branche ist es einfacher, aber dies erfordert möglicherweise überzeugende Manager, um den Wert solcher Überprüfungen zu erkennen, und selbst dann gibt es möglicherweise nicht bei allen Commits Überprüfungen.
Kat

Meine Erfahrung mit Universitätsprojekten beinhaltete jedoch auch viel Überschreiben der Änderungen anderer Leute, da sie nicht einmal Dinge wie das Schreiben von Code im konsistenten Stil oder das Schreiben extrem fehlerhafter Implementierungen tun konnten. Das Fehlen eines Managers in den meisten Universitätsprojekten ist eine wesentliche Einschränkung, um die Menschen dazu zu bringen, gut zusammenzuarbeiten (ganz zu schweigen von den zahlreichen Studenten, die keine Branchenerfahrung haben oder gar nicht wissen, was gut geschriebener Code ist).
Kat

3

Sie hatten entweder einen guten Grund, sein Commit rückgängig zu machen, oder Sie haben es nicht getan. Wenn Sie einen guten Grund hatten, dann ist "lässt mich wie ein Idiot aussehen" kein gutes Gegenargument. Es wäre jedoch höflich, die Person zuerst über die Gründe zu informieren, um Argumente zu vermeiden.

Und alles in allem wäre es viel besser, Codeüberprüfungen durchzuführen. Hoffentlich sollte es nie zu einem Zurücksetzen kommen - es kann vorkommen, dass ein Commit abgelehnt wird, aber Sie sollten nicht in die Situation geraten, in der es zurückgesetzt wird.


"" lässt mich wie einen Idioten aussehen "ist kein gutes Gegenargument" Es ist absolut. In einem vernünftigen Arbeitsumfeld möchten Sie freundlich zu Ihren Mitarbeitern sein und sie nicht glauben lassen, dass Sie sie herabsetzen. Es gibt viele bessere Möglichkeiten, dies zu tun, als Code, der nicht Ihnen gehört, munter zurückzusetzen.
Tag dreht sich am

2

Die Grundfrage zu diesem Thema lautet: "Wem gehört die Komponente auf technischer Ebene?"

Wenn es keine Antwort darauf gibt oder die Antwort "Wir alle tun" oder "Niemand tut" lautet oder Sie nur ein verwirrtes Aussehen bekommen und niemand ein Problem sieht, verschwenden Sie nicht Ihre Energie und finden Sie einen anderen Job.

Wenn es eine Antwort gibt und Gespräche mit dem Wechsler nicht zu einer Einigung geführt haben, treffen Sie sich mit dem Eigentümer und dem Wechsler, machen Sie Ihren Fall und lassen Sie den Eigentümer entscheiden.

Geteilte Verantwortung ist die Wurzel aller bedauernswerten Codebasen und elenden Mitarbeiter.


1

Ich denke, es ist fair zu fragen, ob jemand einen erheblichen Zeitaufwand für etwas hat, insbesondere wenn es noch recht jung war. Es ist besser, zuerst zu einem Konsens zu kommen. Idealerweise würden Sie die Person davon überzeugen, das Zurücksetzen selbst zu tun.

Wenn Sie auf eine Meinungsverschiedenheit stoßen, die Sie nicht klären können, wenden Sie sich an eine dritte Person. Lassen Sie die Mehrheit gewinnen oder stellen Sie sicher, dass die dritte Person ein Hauptentwickler ist.

Manchmal muss man Dinge loslassen, man muss nicht jede Schlacht gewinnen. Stellen Sie sicher, dass Sie gehört wurden.

Ich denke, es ist gesund, nicht an den Code gebunden zu sein, den Sie schreiben. Ich setze meinen eigenen Code ziemlich häufig zurück, andere sollten in der Lage sein, dies gegebenenfalls zu tun.


1

Gehen Sie nicht einfach zurück, sondern lassen Sie sie selbst zurückkehren.

Typische Gründe, die Sie angeben können, wenn Sie eine Rücknahme beantragen:

  • "Ihr Commit XYZ unterbricht diesen und jenen Anwendungsfall / Funktionalität / Testfall"
  • "Ihr Commit XYZ entspricht nicht unseren Codierungsstandards, z. B. falsche Einrückung."
  • "Ihr Commit XYZ verstößt gegen unsere Organisationsprozesse, z. B. Commits für Komponente A sollten vor dem Commit von Komponentenbesitzer B überprüft werden."

Nur Gründe, etwas zurückzusetzen, das nicht von Ihnen selbst getan wurde

  • Person ist verlängert (Urlaub / Krankheit)
  • Das Commit hat den Build abgebrochen oder etwas getan, das andere Teammitglieder daran hindert, ihre Arbeit zu erledigen.
  • Das Buggy-Commit befindet sich bereits in der Produktion und muss so schnell wie möglich behoben werden
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.