it-swarm.com.de

Wie man mit Teammitgliedern umgeht, die schlechten Code schreiben

Unser Team besteht aus Junior- und Senior-Entwicklern. Das Problem, mit dem ich konfrontiert bin, ist der von Senioren geschriebene Code. Sie folgen nicht den Mindestcodierungsstandards. Ich lerne auch noch, aber ich würde den Inline-Stil nicht deklarieren oder falsche Namen für Variablen und Steuerelemente angeben. Ich habe versucht, es indirekt zu erwähnen, aber sie waren so, als könnten wir es später aufgreifen, und da es agil ist, sollten wir weitermachen. Aber mein Problem ist, wenn ich anfange, an meiner Aufgabe zu arbeiten, fühle ich mich schlecht und ich würde mich mehr auf den Refactor als auf meine Aufgabe konzentrieren. Ich bin mir nicht sicher, wie ich mit dieser Situation umgehen soll.

PS: Ich bin sicher, dass diese Frage schon oft gestellt wurde. Aber jeder Rat wird sehr geschätzt.

23
Sunny

Einige Sachen.

  1. Gehen Sie nicht davon aus, dass Ihre Senioren nicht wissen, was sie tun. Sie können sehr gute Gründe haben, warum sie die Entscheidungen getroffen haben, die sie getroffen haben; Fragen Sie sie warum (auf eine nicht argumentative Weise).

  2. Code, der bereits geschrieben, durch Komponententests unterstützt und von Ihren Vorgesetzten für funktionsfähig erklärt wurde kann sicher ignoriert werden. Das sollten Sie damit tun: ignorieren bis dahin wird notwendig, um es weiter zu pflegen, aus welchem ​​Grund auch immer.

  3. Basierend auf Ihrer flüchtigen Beschreibung scheint Ihr Team unter erheblichem Zeitdruck zu stehen. Unter diesen Bedingungen werden Kompromisse eingegangen. so ist es halt.

Wähle deine Schlachten mit Bedacht aus. Kämpfe nur gegen diejenigen, die kämpfen müssen.

31
Robert Harvey

Sie folgen nicht den Mindestcodierungsstandards.

Wenn es nicht Ihre Aufgabe ist, die Kodierung anderer zu überwachen, dann tun Sie es nicht. Es ist eine klassische Art für Junioren, sich einen schlechten Namen zu machen.

In dieser Frage finden Sie eine ähnliche Diskussion: https://softwareengineering.stackexchange.com/questions/78100/how-do-i-tell-a-senior-programmer-that-i-disagree-with-him

Verwandte: Ein Blog-Beitrag, den ich über Nichtübereinstimmung geschrieben habe, und ein Teil davon ist, Ihren Platz zu kennen und wann es angemessen ist, nicht zuzustimmen und wann nicht: Wie man nicht zustimmt, ohne unangenehm zu sein

14
Andy Lester

Wie andere bereits erwähnt haben, sollten Sie nicht konfrontativ nach den Entscheidungen des leitenden Entwicklers fragen, aber es könnte sich auch lohnen, einige Dinge zu untersuchen.

Zunächst einmal: Gibt es einen Kodierungsstandard, dem das Projekt folgt? Wenn kein Codierungsstandard definiert ist, bricht niemand den Codierungsstandard. Der 'Standard' kann einfach darin bestehen, neuen Code ähnlich dem alten Code aussehen zu lassen. Das ist eine unglückliche Situation, aber ein Ad-hoc-Codierungsstandard ist immer noch ein Codierungsstandard.

Wenn es einen Kodierungsstandard gibt: Wer stellt dessen Implementierung sicher? Sind alle Entwickler verantwortlich, wird dies während der Überprüfungszeiträume usw. behandelt?.

Ich gebe Ihnen mein Beispiel: Ich bin auf ein Projekt gestoßen, das gerade erst anfängt. Wir haben hochrangige Mitglieder, aber hauptsächlich Junioren (ich selbst eingeschlossen). Wie sich herausstellte, war ich derjenige, der am meisten über einen Codierungsstandard besorgt war. Unsere Unternehmens- und QS-Richtlinien schreiben vor, dass wir einen Standard haben, und da ich derjenige war, der ihn angesprochen hat, war es meine Aufgabe, einen zu finden.

Das stellte sich als super einfach heraus. Es gibt einen Standard für Java, der von Oracle festgelegt wurde, was dies zur offensichtlichen Wahl macht. Als nächstes fand ich ein Tool für Java namens Checkstyle, das Codierungsstandards für erzwingt Jedes Mal, wenn Sie eine Änderung vornehmen und eine Datei speichern, überprüft Checkstyle die Datei auf Verstöße gegen den Codierungsstandard und hebt alle Verstöße wie eine Warnung hervor. Außerdem werden einige statische Analyseaufgaben ausgeführt: N- Pfadkomplexität, zyklomatische Komplexität usw. Danach habe ich mir den Formatierer von Eclipse angesehen und festgestellt, dass ich ihn auch an unseren Codierungsstandard anpassen kann. Nach einer minimalen Anzahl von Einstellungen haben wir nun ein Tool, das:

  • Highlights, die Standardverletzungen codieren
  • Ein Formatierer, mit dem aufgerufen werden kann ctrl + shift + F
  • Keine Wartung
  • Es wird keine Zeit für Codeüberprüfungen für triviale Codierungsstandardprobleme aufgewendet (Tab hier, Platz dort, Kommentar hier erforderlich usw.)

Um letztendlich wirklich mit der Aufrechterhaltung eines Codierungsstandards umzugehen, würde ich:

  1. Fragen Sie, was der aktuelle Standard ist, ist er irgendwo definiert und sind sich alle Entwickler dessen bewusst?
  2. Machen Sie einen Plan fertig - machen Sie einige Hausaufgaben und suchen Sie nach Tools in der Sprache Ihres Projekts, die Ihnen helfen können, das zu tun, was ich getan habe. Im Ernst: Es ist großartig, einen Codierungsstandard zu haben, dem jeder folgt. Am Ende habe ich es so einfach gemacht, dass niemand einen Grund hatte nicht, ihm zu folgen.
  3. Wenn Sie einen Plan haben, sprechen Sie mit Ihrem Vorgesetzten darüber. Sagen Sie ihnen Ihren Plan und vor allem: Sagen Sie ihnen, wie sie dadurch in Zukunft Zeit sparen können, indem sie weniger Fehler im Code haben.
6
Shaz

Üben Sie die Praxis der Offenheit in einem professionellen Umfeld aus. Wenn Sie der Meinung sind, dass der Code verbessert werden könnte und Sie einen guten Grund haben, zu behaupten, dass sie es anders machen sollten, sollte Ihnen nichts im Wege stehen, dies vorzuschlagen (solange Sie es nicht sind nicht herablassend oder so). Wenn Sie an einem Ort arbeiten, an dem Offenheit verpönt ist, weiß ich nicht, ob das besonders gesund ist. Sie haben vielleicht einen hervorragenden Einblick, warum sie etwas tun, das Sie nicht bemerkt haben, oder das Gegenteil - jemand muss etwas lernen, indem er nur Fragen stellt :)

1
nbpeth