Sind Codeüberprüfungen für Nachwuchsentwickler erforderlich?

39

Ich habe bei zwei Unternehmen gearbeitet, die bei der Codeüberprüfung jeweils unterschiedliche Methoden hatten:

In der ersten Firma wurde von den Teamleitern eine Codeüberprüfung durchgeführt, die nach Abschluss jedes Moduls erforderlich war.

In der zweiten Firma mussten die Teamleiter jedoch keine Codeüberprüfungen durchführen und überprüften lediglich die Funktionalität und das Design.

Also bin ich verwirrt. Wird der Codeüberprüfungsprozess wirklich benötigt? Wenn ja, warum? Und wenn nicht, warum nicht?

user8
quelle
28
Wenn Senior-Entwickler Junior-Entwicklern
2
@Tilsan The Fighter: Es ist gut, dass Sie Fragen stellen - neugierig sind oder sein sollten -, aber machen Sie sie bitte verständlich und leicht lesbar.
Gablin
9
@Thorbjorn - Das stimmt nur, wenn die erfahrenen Entwickler aufgrund ihrer Fähigkeiten und nicht aufgrund ihrer Dauer älter sind. Ich habe viel schlechten Code und Design von erfahrenen Ingenieuren gesehen
KallDrexx
8
Es mag einen guten Grund geben, und es ist gut, diesen Grund herauszufinden, aber Sie sollten ihrem Rat nicht blind vertrauen, nur wegen ihres Titels und ihrer X-jährigen Erfahrung. Ich habe den leitenden Ingenieur hier gefragt, warum er eine Menge schlechten Codes erstellt hat, und alles, was ich bekommen habe, war ein Achselzucken mit einem "Ich weiß nicht". Es gibt genug schlechte Ingenieure, um mir klar zu machen, dass ich nicht nur einem Titel vertrauen soll.
KallDrexx
4
+1 KallDrexx - das habe ich auch gefunden. Ich hatte oft einen "Senior" -Entwickler, der nicht wusste, warum man nicht einfach alles in eine statische Klasse einordnen oder irgendetwas über das Testen wissen oder ein geeignetes Entwurfsmuster kennen sollte was ich sagen kann.
Wayne Molina

Antworten:

107

Ich persönlich denke, dass jeder Code eine Codeüberprüfung durchlaufen sollte, egal ob Sie ein Junior- oder Senior-Entwickler sind.

Warum? Für den Anfang sagt Ihr Titel nichts darüber aus, wie Sie sich entwickeln, und ein leitender Entwickler könnte etwas vom Junior lernen. In unserer Firma wechseln wir uns ab, damit eines der anderen Teammitglieder Ihren Code überprüft. Meistens sind wir ein "Junior" - und ein Senior-Team, sodass all die Dinge, die nicht täglich gesagt werden, so sein können in einem Follow-up gefangen. Wenn der Senior den Junior-Code nicht mag, sollte er sich anhören, warum der Junior das getan hat, und prüfen, ob dies eine praktikable Lösung ist, die in Zukunft verwendet werden könnte Wer du bist.

Eine wichtige Sache bei der Codeüberprüfung ist, dass man nicht zu nett ist. Wenn man ein netter Typ ist, lässt man immer mehr chaotischen Code im System entstehen. Genau wie gestern habe ich angefangen, eine vollständige Anwendung zu überarbeiten, die ein ehemaliger Junior-Entwickler geschrieben hat, und mein Gott, dieser Code hätte eine Überprüfung benötigen können, bevor er gegangen ist.

Ich verstehe nicht, warum es der Teamleader sein sollte, der nur Bewertungen durchführt, aber es erfordert eine Person, die keine Angst hat, einen "Kampf" um ein Stück schlecht entwickelten Codes zu führen, und es muss eine Person sein, die sich darum kümmert, wie der Code sein soll Sein. Nicht alle Unternehmen stellen Leute ein, denen es wirklich wichtig ist, was sie tun, und diese schlechten Eier sollten IMO keine Codeüberprüfungen erlauben, da sie wahrscheinlich nur mit den Schultern zucken und zu schlechtem Code "OK" sagen.

cyberisiert
quelle
8
Eigentlich hat es einen Sinn, nicht nur den Teamleader dazu zu bringen, den Code zu überprüfen. Selbst ein weniger erfahrener Entwickler sollte in der Lage sein, den Code zu befolgen. :)
Guffa
63
Teamleiter sollten auch ihren Code überprüfen lassen, da Junior-Entwickler oft wertvolle Techniken erlernen oder zumindest sehen können, wie "guter" Code aussehen soll. Und nur weil Sie ein Teamleiter sind, bedeutet das nicht, dass Sie keinen Fehler machen können.
TMN
4
@TMN, ich kann nicht mehr zustimmen. Teamleiter werden nicht immer aufgrund ihrer Fähigkeiten oder Erfahrung ausgewählt. manchmal sind sie alles, was nach einem Massenexodus (der mehrmals bei mir vorgekommen ist) oder einer großen Entlassung übrig bleibt. Jeder Code sollte unabhängig von Erfahrung, Status oder Titel überprüft werden.
Bedwyr
2
@TMN Too right. Der Titel "Senior Developer" bedeutet nicht "unfähig, Fehler zu machen" oder "unfähig, sich zu verbessern". Wenn ja, ist dies nicht die Art von Senior-Entwickler, die ich in meinem Team haben möchte.
Brandon DuRette
2
Ich bin sehr erfahren und gut in dem, was ich tue. Ich mache Fehler, von denen viele von der Codeüberprüfung erfasst wurden.
David Thornley
37

Grundsätzlich ist eine Codeüberprüfung für alle Programmierer erforderlich, unabhängig von ihrer Erfahrung. Es ist die Qualitätskontrolle der Softwareentwicklung und einer der Gründe, warum Open Source von sehr hoher Qualität sein kann.

EDIT: Der Grund ist, dass ein Code-Reviewer heute genau die gleiche Rolle spielt wie ein späterer Betreuer. Wenn der Code heute für ihn keinen Sinn ergibt, ergibt er auch später keinen Sinn, wodurch die Behebung von Fehlern teurer wird. Mache es daher heute verständlich, während sich der Entwickler noch an den Code erinnert. Außerdem kann der Prüfer Fehler oder Auslassungen erkennen, die der Entwickler übersehen hat.

Leider wollen es nur sehr wenige, aber aus geschäftlicher Sicht sollte es obligatorisch sein.

user1249
quelle
@ Mr.Thorbjorn Ravn Andersen: Können Sie bitte die Vor- und Nachteile des Code Review-Prozesses angeben?
Sankar Ganesh
2
Dieser Vorschlag zur Codeüberprüfung könnte Sie interessieren . Es wäre schön, wenn wir den Ball ins Rollen bringen könnten.
Urwolf
@ Victor, ein interessanter Ansatz und ich wünsche Ihnen viel Glück.
@ Sankar Ganesh: Es gibt ein kostenloses Buch über Code Review, in dem Vor- und Nachteile erläutert werden
Joeri Sebrechts
17

Ich arbeite an einem Ort, an dem die Codeüberprüfung jetzt eine Voraussetzung ist, aber noch nicht einmal 3 Jahre alt ist. Es hat eine enorme Verbesserung in unserem Code und in der Fähigkeit anderer bewirkt, den Code später zu pflegen. Selbst ältere, sehr erfahrene Entwickler machen Fehler, die einfach und leise in der Codeüberprüfung behoben werden können, bevor QA sie findet, oder noch schlimmer, bevor der Kunde sie findet. Darüber hinaus ist mindestens eine andere Person als der Originalentwickler mit dem Code vertraut.

Wenn eine Organisation etwas Neues ausprobiert, wie wir es bei der Codeüberprüfung getan haben, besteht häufig Widerstand gegen Änderungen. Ich habe so gut wie nichts davon gesehen (wir waren sehr bemüht, auch eine formelle QA-Abteilung zu bekommen.) Mit Codeüberprüfung. Es sind nur ein oder zwei Überprüfungen erforderlich, um den Wert zu ermitteln.

Ich habe neue Techniken gefunden, die ich nicht in Betracht gezogen hatte, um eine Codeüberprüfung der Arbeit eines anderen durchzuführen oder um meinen Code überprüfen zu lassen. Wir haben Kompetenzprobleme bei Neueinstellungen relativ schnell festgestellt, indem wir Codeüberprüfungen durchgeführt haben und vor allem, wie sie auf die Codeüberprüfung reagiert haben. Wir haben gelernt, welche Dinge im Moment vollkommen klar erscheinen, während wir diesen Abschnitt programmieren, der bei der Wartung nicht klar sein wird. Das ist von unschätzbarem Wert. Es kann sein, dass das einzige, was benötigt wird, ein Kommentar ist, warum etwas getan wurde. Wir haben einige grundlegende Missverständnisse bezüglich unseres Datenbankdesigns festgestellt, die korrigiert werden mussten, damit ein Bericht tatsächlich die richtigen Informationen enthält.

In einer Codeüberprüfung habe ich oft gesehen, dass der Entwickler durch die bloße Erklärung von etwas zu jemand anderem eine Glühbirne im Kopf hat und feststellt, dass es einen Fehler gibt, den der Überprüfer nicht gesehen hat.

Und der Junge kann die Cowboy-Programmierer identifizieren, die sich nicht an Standards halten oder vorgeschriebene Tools verwenden und deren Code für niemanden unerreichbar sein wird. Und es kann sie zwingen, mit dem Programm zu kommen oder auch rauszukommen.

Die Personen, die sich der Codeüberprüfung am meisten widersetzen, sind häufig die Personen, die die Organisation am dringendsten loswerden muss, weil sie in ihrem Herzen wissen, dass ihr Code eine Codeüberprüfung nicht bestehen kann.

HLGEM
quelle
3
"Wir haben Kompetenzprobleme bei Neueinstellungen relativ schnell festgestellt, indem wir Codeüberprüfungen durchgeführt haben und vor allem, wie sie auf die Codeüberprüfung geantwortet haben" - Dies ist ein sehr wichtiger Vorteil (und ich stimme zu, wie sie antworten, sagt mehr aus als die Fehler, die sie machen). .
Stephen C. Steel
1
+1 für die Erfassung des
11

Agiler Typ würde sagen: "Du brauchst keine Codeüberprüfung, mache einfach Paarprogrammierung und schreibe gute Tests" :)

Ilia K.
quelle
9
Wechseln Sie häufig die Paare und erkennen Sie, dass das Team und nicht eine Einzelperson den Code besitzt.
Don Roby
18
Agiler Kerl ist falsch. Code sollte von einem Geist überprüft werden, der unabhängig von dem Geist ist, der ihn erstellt hat. (Es ist sehr einfach für ein Paar von Programmierern, sich in einer Sackgasse zu unterhalten, ohne es zu merken!)
Peter Boughton
6
Die Paarprogrammierung ist eine kontinuierliche Codeüberprüfung.
3
@Peter: Der agile Typ paart sich auch promiskuuell neu und übt die gemeinsame Eigentümerschaft von Code. Im Laufe der Zeit (Tage bis Wochen) haben die meisten Mitglieder des Teams den Code überprüft, den das ursprüngliche Paar geschrieben hat. Agiler Typ hat auf alles eine Antwort. Manche Leute denken, dass Agile ein totaler Schlauer ist.
Tom Anderson
2
Paarprogrammierung behebt das Hauptproblem bei Codeüberprüfungen - sie treten viel zu spät auf. Ich hasse es, eine Codeüberprüfung durchzuführen, um festzustellen, dass der Entwickler eine Woche damit verbracht hat, einen Bibliotheksalgorithmus oder eine Datenstruktur neu zu entwickeln.
Kevin Cline
8

Die Codeüberprüfung ist eine gute Methode, um Wissen und bewährte Verfahren in einem Team zu verbreiten. Nach meiner Erfahrung ist es eine gute Idee, sicherzustellen, dass der gesamte Code überprüft wird, und zu variieren, wer welchen Code überprüft.

In meinem derzeitigen Team wird der Code aller gleichermaßen überprüft, und sowohl der Programmierer als auch der Prüfer müssen mit dem Code zufrieden sein, bevor er veröffentlicht werden kann. Dies gilt ebenso für Senior-Entwickler, die von mehr Junior-Entwicklern, einem Junior-Entwickler, der einen anderen überprüft, oder anderen Senior-Entwicklern, die sich gegenseitig überprüfen, überprüft werden. Wenn der Prüfer unerfahren ist oder sich nicht wohl fühlt, einen bestimmten Code zu prüfen, wird er sich mit einem anderen Entwickler (und möglicherweise auch dem ursprünglichen Entwickler) zusammenschließen, um die Prüfung als Gruppe durchzuführen.

flamingpenguin
quelle
2
Ja, Code Review ist ebenso eine Qualitätskontrolle wie Wissensaustausch. Jeder kann aus einer guten Codeüberprüfung lernen. Der Rezensent und der Rezensent.
Guillaume
1
Meine Firma ähnelt der von Flamingpenguin. Jeder Check-in wird von einem anderen Entwickler überprüft. Rank hat nichts damit zu tun, wer was bewertet. Es ist ein Peer-to-Peer-Prozess. Voraussetzung ist, dass der gesamte Code überprüft wird. Codeüberprüfungen im Eltern-Kind-Stil dienen nur dazu, die A-Entwickler zu vertreiben, während ein B-Teamleiter die C-Junioren überprüft. Das Beste, auf das ein Eltern-Kind-Team hoffen kann, ist mittelmäßiger Code. Wenn sie Glück haben.
Jim In Texas
5

Ich bin seit mehr als 20 Jahren im Geschäft und arbeite für Softwareunternehmen und für verschiedene Unternehmen. Keiner dieser Orte hatte einen Code-Überprüfungsprozess. Ich kann jedoch die Vorteile eines solchen Systems verstehen und schätzen. Nach meinem Verständnis sollten sie im Wesentlichen verwendet werden, um die Einhaltung von Standards zu gewährleisten, die befolgt werden sollten, damit andere den Code in Zukunft einfacher warten können. Die Lesbarkeit des Codes kann auch in einem Überprüfungsprozess überprüft werden, um sicherzustellen, dass die Wartung effektiv mit dem Code arbeiten kann.

Derzeit arbeite ich in einem kleinen Laden, in dem ich der einzige Entwickler bin. Gelegentlich haben wir Auftragnehmer hinzugezogen, um den Rückstand zu beheben. Mindestens ein oder zwei dieser Auftragnehmer haben Code geschrieben, der nicht unbedingt meinen oder den Standards der Unternehmen entsprach, aber er funktionierte gut und war zumindest einigermaßen verständlich. Als ich das Management auf dieses Problem aufmerksam machte, war es ihnen egal, sie wollten nur wissen, ob es das tat, wofür wir sie bezahlten. Ich denke also, es hängt nur vom Unternehmen ab, und ob sauberer, einfach zu pflegender Code das gewünschte Produkt ist oder ob sie nur etwas wollen, das für das Geld gut funktioniert.

Natürlich würde ich als Entwickler und einer, der Code warten muss, gerne mit sauberem Code arbeiten, der einem bestimmten Standard folgt, aber ich habe nicht immer diesen Luxus, also mache ich das Beste daraus und beschäftige mich mit dem, was ich habe , auch wenn es manchmal bedeutet, Code in meinem eigenen Standard neu schreiben zu müssen.

user6061
quelle
4

Durch Codeüberprüfungen können Fehler früher im Software-Lebenszyklus identifiziert werden, wenn die Behebung von Problemen einfacher (und kostengünstiger) ist. Bei SmartBear haben wir ein Peer-Code-Überprüfungstool entwickelt und viel darüber nachgedacht , wie Codeüberprüfungen wirksam werden können. Basierend auf den Daten unserer Kunden sind Mängel, die in der Codeüberprüfung festgestellt wurden, 8-12-mal billiger zu finden und zu beheben als Mängel, die in der Qualitätssicherung festgestellt wurden. Allein die Kostenersparnis lohnt die Codeüberprüfung, aber es gibt mehr Wert als nur das. Die Codeüberprüfung ist eine hervorragende Möglichkeit für alle im Team, sich als Softwareentwickler weiterzubilden und zu verbessern.

Es gibt einige Fallen, die dazu führen können, dass Codeüberprüfungen weniger effektiv sind, und es scheint, als wäre Ihre Organisation in einer davon gefangen. Überprüfen Sie den Code, nicht die Personen. Titel bedeuten in einer Codeüberprüfung nichts. Appelle an die Behörde (Sie müssen es auf meine Weise tun, weil ich der Teamleiter bin) schaden mehr als nützen. Lehren Sie stattdessen. Erfahrene Ingenieure sollten erklären, warum das so ist, und nicht nur verlangen, dass es so ist. Wenn Sie Schwierigkeiten haben, ein Konzept zu erklären, ist es auch für Sie eine Lernerfahrung. Sie beide werden bessere Entwickler für die Anstrengungen sein, die Sie unternommen haben.

Brandon DuRette
quelle
Haben Sie einen offiziellen Artikel über die 8-12 mal billigere? Wir diskutieren dies intern.
@ Thorbjørn - Wir machen: goo.gl/7dMf . Dies stammt aus unserem Buch zur
Codeüberprüfung
2

Ich denke, Code, der ALLEN CODE überprüft, ist übertrieben. Die Zeit, die benötigt wird, um den gesamten Code zu überprüfen, könnte besser an anderer Stelle verwendet werden. Ich denke, dass kritischer Code und / oder besonders komplexe Teile einer Codeüberprüfung bedürfen, aber sicherlich nicht jede Codezeile.

Gratzy
quelle
7
Ich konnte nicht mehr widersprechen. Jede Codezeile sollte mindestens zwei Überprüfungen durchlaufen ... der ursprüngliche Entwickler sollte unbedingt jede Zeilenänderung überprüfen, bevor er sie festschreibt, und mindestens ein anderer Entwickler sollte eine Peer-Überprüfung als Follow-up durchführen. Sehr selten besteht Code eine Überprüfung, ohne dass mindestens eine gute Frage aufgeworfen wird. Peer Reviews sensibilisieren die Teammitglieder auch dafür, was und wie andere ihre Aufgaben erfüllen.
STW
3
@Gratzy - ich schwöre absolut darauf; Normalerweise werden dem Entwicklungszyklus ~% 10 hinzugefügt. eine kleine Investition für wie viel wir früh fangen.
STW
4
@Gratzy - einfach weil wir nicht perfekt sind. Unser Team ist erheblich gewachsen und wir haben einige Umsätze (meistens Auftragnehmer). In der Vergangenheit haben sich Probleme bei der Überprüfung der Richtlinien fast sofort eingeschlichen. Der Überprüfungsprozess ist einfach ein entscheidender Schritt zur Aufrechterhaltung eines effektiven Teams und zur Herstellung eines Qualitätsprodukts. Das Überprüfen des gesamten Codes ist nicht schwierig. Vor allem, wenn Sie ein paar ältere Entwickler haben, die sehr gut darin sind, nicht benötigten Code zu finden. Der meiste doppelte Code stammt von Entwicklern, die gute Ergebnisse erzielen, sich jedoch eines bestehenden Ansatzes nicht bewusst sind.
STW
5
Ich bin mit STW in dieser Sache - das Beheben von Problemen, die während der Überprüfung festgestellt wurden, ist viel billiger als der Versuch, Code später zu debuggen / warten, da dies nicht als kritisch eingestuft wurde. Außerdem brauchen Code-Überprüfungen nur dann Zeit, wenn der Code schlecht ist - guter Code ist schnell und einfach zu lesen!
Peter Boughton
7
Natürlich sollten sie das nicht, aber das heißt nicht, dass sie es nicht sind! (Wie viele Teams haben perfekte Entwickler?) Welche Codezeilen überprüfen Sie nicht? Wie treffen Sie die Entscheidung, ob eine bestimmte Änderung in einer bestimmten Datei überprüft werden soll oder nicht?
Peter Boughton
2

Meiner Meinung nach sollte Code, der von einem Unternehmen verwendet wird, unabhängig davon, ob er von einem Junior- oder Senior-Entwickler geschrieben wurde, immer überprüft werden. Warum? Denn was wäre, wenn der Code mehrere Fehler hätte? Und wenn das Programm während der Verwendung dieses Codes abstürzte? Um dies zu verhindern, sollte der gesamte Code vor der Verwendung überprüft werden.

Aber was ist mit den Unternehmen, die keinen Code überprüfen? Es sind wahrscheinlich die Unternehmen, die viele technische Probleme haben und viele, wie sie den Verbrauchern sagen, "Abstürze" ;-).

Lassen Sie mich all Ihre Fragen beantworten:

  • Ja, der Überprüfungsprozess ist erforderlich.
  • Warum? Aus den oben genannten Gründen.
Dynamisch
quelle
2

Code Review : Der Code Review Prozess sein , muss lebenswichtig einer für alle, werde ich erklären , wer sind alle get Vorteile aufgrund der Leitung von Code - Review und was sind die Vorteile , die sie bekommen.

1. Vorteile, die das Unternehmen durch die Durchführung von Code-Überprüfungen erzielt: Wenn häufige Code-Überprüfungen durchgeführt werden, kann das Unternehmen die Endprodukte viel besser optimieren, um Markennamen in seinem Markt zu etablieren und dem Unternehmen dabei zu helfen, diese zu überprüfen erhalten oder verbessern ihre aktuelle CMMI- Ebene.

2. Vorteile für den Teamleiter durch die Durchführung der Codeüberprüfung: Wie wir alle wissen, kann ein Lehrer die Fehler leicht identifizieren, da er die Antworten seiner Schüler häufiger überprüft, um eine Vorstellung davon zu bekommen, in welchen Bereichen sie sich möglicherweise befinden für falsche Dinge möglich sein. in ähnlicher weise weiß der teamleiter auch, was in diesen bereichen falsch läuft. Wie können wir diese korrigieren? Und dem Teamleiter helfen, die neuen Ideen auch vom Junior-Entwickler zu übernehmen.

3. Vorteile für den Junior-Entwickler durch die Durchführung der Codeüberprüfung: Junior-Entwickler können leicht die Ideen zum Codeüberprüfungsprozess aufgreifen und auch den Codierungsstandard abrufen. Zum Beispiel: API auf ordnungsgemäße Weise erstellen. Sie erlernen die Standardisierung der Kodierung, die ihnen in Zukunft helfen kann, insbesondere wenn sie in eine höhere Position versetzt werden.

Meine Schlussfolgerung ist also, dass die Codeüberprüfung ein sehr, sehr wichtiger Prozess für alle ist (auch für Teammitglieder), da die Codeüberprüfung uns dabei hilft, unachtsame Fehler in unserem Code zu korrigieren, da wir alle Menschen sind und daher nicht vorhersagen können, dass wir dies niemals tun Machen Sie nachlässige Fehler im Code.

Sankar Ganesh
quelle
1

Was ist der Unterschied, wenn Sie Ihre Ideen stören, bevor Sie Ihren Code einchecken (überprüfen) oder später aufgrund eines Fehlers, wenn Sie zu schlau / schwer zu verstehen sind oder wenn Sie nicht den anerkannten Standardpraktiken folgen? Ist es dein Ego?

Sie können die Vorzüge der Codeüberprüfung oder etwas anderes nicht außer Acht lassen, nur weil sie von einem weniger qualifizierten Teammitglied, das Sie nicht respektieren, schlecht implementiert wird. Code Review ist kein hochkomplexer Prozess, den nur wenige Superprogrammierer verstehen können. Ich bin mir nicht sicher, ob es viele Programmierer oder professionelle Autoren gibt, die in der Lage sind oder die Zeit haben, sich selbst zu bearbeiten.

Haben Sie sich ein paar Monate später schon einmal gefragt, was ich gedacht habe? Es gibt eine bessere Chance, es mit einer Codeüberprüfung zu erwischen. Sie haben es einfach verstanden und sind nur wenig besser als der Programmierer, der Sie vor einer Weile waren - ich hoffe.

JeffO
quelle
1

IMO sollte eine Codeüberprüfung für alle Entwickler unerlässlich sein, aber nur, wenn die Personen, die die Überprüfung durchführen, selbst kompetent sind. In der Vergangenheit hatte ich Code in einer Überprüfung abgelehnt, weil ich SOLID, wie Sie es nicht taten, eine Abhängigkeitsinjektion durchgeführt und den Code entsprechend dem logischen Design in Namespaces und Ordner organisiert und eine kleine Reihe von Komponententests eingeschlossen hatte Überprüfen Sie den Code. Der Code wurde als "zu kompliziert" abgelehnt und mir wurde gesagt, dass ich eine Klasse verwenden soll, die alles zusammenfasst und die Tests entfernt, da das Unternehmen den Code nicht geschrieben hat.

Eine solche Codeüberprüfung ist wertlos, aber eine Codeüberprüfung mit einem kompetenten Team kann häufig Aufschluss über das Design geben (z. B. warum Sie X und Y, aber nicht Z ausführen sollten) oder auf einen tatsächlichen Fehler hinweisen (z. B. wenn Sie X ausführen, schlägt Y fehl aus falschen Gründen).

Wayne Molina
quelle
1

Natürlich ist keine Codeüberprüfung erforderlich . Andererseits gibt es auch keine Tests, kontinuierliche Integration, Quellcodeverwaltung, Kundenbeteiligung, Profilerstellung, statische Analyse, anständige Hardware, Builds mit einem Klick, Fehlerverfolgung, die Liste geht weiter.

Zusammen mit Code Reviews sind die oben genannten Dinge Tools, die zur Sicherung der Softwarequalität beitragen. Mit einer Kombination aus Können, Glück, Zeit und Entschlossenheit; Sie können hochwertige Software ohne dieses Zeug liefern, aber es ist wahrscheinlich , dass Sie werden nicht .

In Ihrem Szenario gibt es nichts zu verwechseln. Nicht jede Organisation gibt sich mit jeder Best Practice zufrieden. Sie stimmen dem möglicherweise nicht zu, es kann im Widerspruch zu einer anderen bewährten Methode stehen, die sie implementieren, oder sie sind der Ansicht, dass der Aufwand für die Implementierung zu diesem Zeitpunkt zu groß für sie ist. Abhängig von ihren Umständen können sie damit richtig liegen oder eine falsche Wirtschaft machen. Bei einigen Tools (z. B. Quellcodeverwaltung) ist das Verhältnis von Amortisation zu Aufwand so gut, dass die Verwendung ein Kinderspiel ist. für andere ist es weniger klar.

Es besteht kein Zweifel, dass die Codeüberprüfung eine Praxis ist, die einen erheblichen Overhead mit sich bringt. Aus diesem Grund versuchen Unternehmen, diesen Aufwand zu minimieren, indem sie dies entweder gar nicht oder nur in bestimmten Situationen tun (z. B. für ein Junior-Teammitglied oder eine besonders haarige Veränderung). Es ist nicht immer offensichtlich, dass es sich mehr auszahlt (wenn es darum geht, Fehler zu beheben, technische Schulden zu reduzieren oder Wissen zu teilen), als es kostet. Der größte Teil dieser Amortisation ist schwer zu quantifizieren, wohingegen es sehr einfach ist, die Anzahl der von Ihrem Unternehmen für Überprüfungen aufgewendeten Arbeitsstunden zu ermitteln. Das am einfachsten zu quantifizierende Bit (verringerte Fehleranzahl) lässt sich leicht auf andere Faktoren zurückführen (z. B. "Natürlich hat es weniger Fehler, es ist ausgereifter").

Paul Butcher
quelle
-1

Wir machen Online-Fußballspiel in der Türkei. Viele Benutzer und Spielleiter helfen uns bei der Funktionalität. Außerdem geben sie Kommentare zu den benötigten Funktionen. Ich denke, wenn Sie viele Benutzer haben, können Funktionstests durchgeführt werden, um zu helfen oder Ausweise zu erhalten. Die Zusammenarbeit von Entwicklern, Spielleitern und Benutzern mit Foren, Support-Teams und privaten Testumgebungen schafft ein soziales Projekt.

Sicher, Code-Reviews und Erfahrungsaustausch zwischen Entwicklerteams sind erforderlich, aber wenn es nicht kritisch ist, müssen Sie sich nicht zwingen.

emremp
quelle
-1

Ich denke, wie ausführlich die Inspektion durch Dritte ist, hängt von Ihrem Lebenszyklus ab, davon, ob Sie agiler sind oder mehr Wasser in Ihren Prozessen stecken. Ich halte es für sinnvoll, Entwürfe / Inspektionen auf hoher Ebene sowie Konstruktionsinspektionen auf Detailebene durchzuführen. Ich denke, es ist auch gut, mehrere Mitglieder eines Teams zur Inspektion einzubeziehen.

Tim Claason
quelle
-1

Sie sind absolut notwendig, da sie wenig Erfahrung haben.

pacoespinoza
quelle
Ohne eine Erklärung kann diese Antwort für den Fall unbrauchbar werden, dass jemand anders eine gegenteilige Meinung äußert. Wenn zum Beispiel jemand eine Behauptung wie "Sie sind absolut unnötig, da sie wenig Erfahrung haben" aufstellt, wie würde diese Antwort dem Leser helfen, zwei gegensätzliche Meinungen zu ermitteln? Betrachten Sie bearbeiten ing es in eine bessere Form
gnat