Sollte ich auf Rechtschreib- / Grammatikfehler im Code einer Person hinweisen? [geschlossen]


106

Beim Überprüfen des Codes eines Mitarbeiters stieß ich auf einige Rechtschreibfehler in Funktionsnamen sowie auf grammatikalische Fehler wie "doesUserHasPermission ()" anstelle von "doesUserHavePermission ()" in Funktions- und Variablennamen.

Sollte ich ihn darauf hinweisen, oder bin ich zu pedantisch, wenn ich das bemerke?


3
Ich könnte vorsichtig sein, dass die Person tatsächlich Hilfe mit ihrem Englisch will, wenn es nicht ihre zweite Sprache ist. Manche Menschen begnügen sich damit, zu wissen, dass sie nicht unfähig sind, strukturierte Gedanken auszudrücken, sondern dass sie einfach nicht in der Lage sind, richtig Englisch zu sprechen. Wenn Englisch ihre Muttersprache ist, dann denke ich, dass schlechte Grammatik ein Problem ist.
Rei Miyasaka

31
Ja. Es ist wirklich frustrierend, wenn Sie eine API mit falscher Schreibweise haben. Es verbreitet sich wie ein Lauffeuer. Also ist es besser, es so schnell wie möglich zu korrigieren.

9
@Rei: Ob Englisch ihre Muttersprache ist oder nicht, sollte in einem professionellen Umfeld keine Rolle spielen. Wenn es für sie dann nicht zu schlimm ist, aber es ist keine Entschuldigung, sollten sie an den gleichen Standards festgehalten werden.
Thomas Bonini

4
@Rei, viele Programmierjobs, die ich für ausgeschrieben halte, erfordern aus genau diesem Grund Kenntnisse in Muttersprachen. Für das gesamte Softwareprodukt ist es sehr wichtig, Anforderungen, Design, Spezifikation und Konstruktion besprechen zu können.
Stephen Furlani

Antworten:


205

Code mit Rechtschreib- und Grammatikfehlern ist nicht zu pflegen .

  • Die Leute werden sich nicht an die schlechte Grammatik erinnern, also werden sie versuchen, die Funktion so aufzurufen, wie sie hätte geschrieben sein sollen, und so passieren Fehler.

  • Sie können im Code nicht nach etwas suchen, wenn Sie nicht wissen, wie es geschrieben ist.

  • Die meisten Leute, die Grammatik / Rechtschreibung machen, tun dies inkonsistent, so dass sie viele Bugs mit nicht übereinstimmenden Namen einführen. Dies ist besonders problematisch in Sprachen, in denen Variablen vor der Verwendung nicht explizit deklariert werden müssen, da Sie eine neue Schreibweise einführen können und Ihr Code nicht zum Erliegen kommt, um Sie über einen Fehler zu informieren.

Das Korrigieren dieser Probleme ist weder umständlich, noch wird es in erster Linie durch die Meinungen anderer über die eigene Intelligenz, Alphabetisierung usw. erforderlich (obwohl dies ein großer Nebeneffekt ist). Es geht um das Schreiben von qualitativ hochwertigem, wartbarem Code .


7
+1 Manchmal ist es wichtig, die Gefühle anderer zu schonen, aber wenn es sich um eine Codeüberprüfung handelt, ist es fair, Kommentare abzugeben. Mein Unternehmen verwendet den Tiegel für Code-Überprüfungen, sodass alle Überprüfungen erkennen, dass er abgefangen wurde, und der Überprüfer ihn nicht als Fehler, sondern als Stil kennzeichnen kann.
Opello

15
+1 - Sobald Rechtschreib- und Grammatikfehler in eine API eingedrungen sind, ist es nahezu unmöglich, sie wieder zu entfernen. Ich verbrachte den größten Teil von drei Jahren damit, "Avtivity" anstelle von "Activity" zu schreiben, und es tat immer körperlich weh , dies zu tun.
John Bode

7
Gute Programmierpraxis beruht oft auf Pedanterie. Außerdem möchte ich die Person finden, die Referrerin der ursprünglichen HTTP-Spezifikation falsch geschrieben wurde, und sie in den Knöchel treten. Natürlich war es wahrscheinlich Berners-Lee und deshalb würde ich mich danach schuldig fühlen ...
Malvolio

2
@ Stefan Furlani: das ist der Punkt, den ich machen wollte; Es war Teil einer API, die wir nicht besaßen. Wir konnten das Problem nicht beheben, und der Prozess, um es zu beheben, war hässlich und langwierig genug, dass niemand damit herumspielen wollte.
John Bode

2
@ John Bode, ich denke, Sie sollten eine Wrapper-Funktion erstellt haben :) C # hat einen ordentlichen Trick dafür (ich habe jedoch seinen Namen vergessen).
Job

38

Ja definitiv. Es ist einfacher, sich den Namen zu merken, wenn er grammatikalisch korrekt ist. Der Versuch, sich an den Namen und die Grammatikfehler zu erinnern, ist eine andere Sache.


29

Zeigen Sie sie in einer formalen Codeüberprüfung nicht als Mängel auf. Markieren Sie stattdessen eine Auflistung und sprechen Sie DATENSCHUTZ mit ihm darüber. Seien Sie so diplomatisch wie möglich, nur "Hey, etwas, das mir aufgefallen ist, und ich habe Leute getroffen, die WIRKLICH auf solche Dinge herabblicken. Sie denken, das lässt den Programmierer nachlässig und schlampig aussehen."

Wenn dies der Code ist, den ein Kunde sehen wird, MUSS er unbedingt korrigiert werden. Ob es Ihnen gefällt oder nicht, es spiegelt den Ruf Ihres Unternehmens wider.

Ich vermute, dass das Beispiel, das Sie angegeben haben, als UserHasPermission begann. Jemand sagte ihm, die lokale Praxis sei doesUserBlahBlah () und nicht UserBlahBlah (), und er übersah nur die Grammatikänderung.


12
Zu sagen, dass es um die Wahrnehmung anderer geht, lässt es unwichtig erscheinen. Sagen Sie die Wahrheit - sie machen es schwieriger, den Code zu warten und darauf aufzubauen.
HedgeMage

5
@HedgeMage: Meine persönliche Erfahrung mit solchen Dingen ist, dass einige Leute EXTREM empfindlich gegenüber Dingen sind, die sie als Kritik an sich selbst empfinden. Schlimmer noch, es kann wirklich hässliche politische Auswirkungen geben, wenn die Person, die Sie zu kritisieren scheinen, vom Management geliebt wird. (Ja, ich habe die Narben, um dies zu beweisen.) UND ich habe Organisationen gesehen, die sich buchstäblich nicht für solche Dinge interessierten, solange der Code funktionierte, für eine Definition von "funktioniert". Mein persönliches Gefühl ist, dass Sie eine bessere Chance haben, es mit minimalen anderen Kopfschmerzen zu reparieren, wenn Sie sanft gehen.
John R. Strohm

12
@John Ich kann sicher sehen, dass eine schlechte Arbeitssituation jemanden zwingen kann, auf solchen Eierschalen laufen zu müssen - aber es ist eine schlechte Situation, wenn das überhaupt ein Problem ist. Jemand mit einem so zerbrechlichen Ego (und einer Arbeitskultur, die es ihren Spielereien erlaubt) ist nicht gut für das Geschäft.
HedgeMage

6
Die meisten reifen Programmierer akzeptieren Kritik gut. Das ist es, wofür Peer Reviews gedacht sind (und wir alle machen Code Reviews, nicht wahr?). Es ist in Ordnung, die Rechtschreibung und Grammatik von Kommentaren, Funktionsnamen usw. zu kritisieren. ALLES reflektiert nicht nur den Autor, sondern auch auf ihre gesamte Organisation.
quick_now

6
Ich muss HedgeMage hier zustimmen. Wenn Sie bei einer Codeüberprüfung auf solche Fehler nicht hinweisen können (insbesondere, wenn sie objektiv falsch sind, wie im Beispiel in der Frage), dann haben Sie größere Probleme ...
Dean Harding

10

Ändere es selbst.

Hoffentlich befinden Sie sich in einer Umgebung, in der Code-Besitz kein Problem darstellt. Wenn Sie in der Quellcodeverwaltung Zugriff auf das Projekt haben, müssen Sie es nur selbst reparieren. Wenn Sie sehen, dass ein bestimmter Mitarbeiter dieselbe Art von Grammatik- oder Rechtschreibfehlern konsistent macht, möchten Sie ihn möglicherweise darauf hinweisen. Dies hängt jedoch von Ihrer Beziehung ab, davon, ob die Person Englisch als Muttersprache spricht und von ihrer allgemeinen Aufnahmefähigkeit. Aber ob Sie sich jemals dafür entscheiden oder nicht, gehen Sie einfach ruhig und machen Sie die Lösung. Ich mache das die ganze Zeit, wenn ich einen Tippfehler sehe, insbesondere in einer Methodensignatur oder einer öffentlichen Eigenschaft, dann repariere ich es einfach. Gelegentlich kann ich der Versuchung nicht widerstehen, einen Tippfehler in einem Kommentar zu beheben, aber das bin nur ich :)


5
Und dann stellen Sie fest, dass Sie gerade den Code eines Dritten gebrochen haben. Sie müssen diese Art von Dingen so schnell wie möglich reparieren lassen, nicht nur, wenn Sie es erreichen können, nachdem der erste Kerl alles eingecheckt hat.
David Thornley

Wenn Sie befürchten, dass eine Korrektur an einem Codeteil den Code eines anderen beschädigen könnte und Sie keine Möglichkeit haben, dies zu beurteilen, haben Sie größere Probleme als die Rechtschreibung.
Cornel Masson

@ CornelMasson: Nicht wirklich. Dies ist ein Schlüsselelement beim Entwerfen einer API.
Leichtigkeitsrennen im Orbit

6

Ich bin ein Entwickler, dessen Muttersprache nicht Englisch ist, sondern Niederländisch, und es würde mir nichts ausmachen, wenn jemand mir eine Grammatik oder einen Rechtschreibfehler vorschlägt. Auf diese Weise kann ich mein Englisch ständig verbessern. Und es ist sicherlich nicht schwierig, alle Fehler in Ihrem gesamten Quellcode zu korrigieren. Ein einfaches Perl-Skript kann einfach geschrieben werden, um alle Dateien in einem Ordner zu durchlaufen. Vielleicht geht das sogar mit sed? Ich weiß es nicht.

Ich würde also mit Sicherheit auf Grammatik- oder Rechtschreibfehler im Code eines anderen hinweisen, aber nur, wenn ich absolut sicher bin, ob das, was ich sage, richtig ist.


6

Ich denke, es ist erwähnenswert, dass der HTTP-Referrer-Header im HTTP-Protokoll als "Referrer" falsch geschrieben wurde (und wir müssen damit leben / wir haben gelernt, damit zu leben.) :)


10
Und wir wollen so etwas nie wieder sehen.
David Thornley

4

Ich stimme anderen Antworten zu, die besagen, dass Code mit Grammatikfehlern nicht zu halten ist.

Ich möchte auch ein paar Dinge hinzufügen:

  • Code wird oft von Leuten geschrieben, die nicht sehr gut Englisch sprechen und / oder Englisch ist nicht ihre Muttersprache. Wenn ein Code, den Sie überprüfen, einen Grammatikfehler enthält, bedeutet dies nicht, dass Ihr Mitarbeiter diesen Fehler gemacht hat. Vielleicht war es nur ein Copy-Paste von einer Website.
  • Wenn Englisch nicht die Muttersprache Ihres Mitarbeiters ist, kann es eine gute oder eine sehr schlechte Idee sein, ihm / ihr von diesem Fehler zu erzählen. Da ich aus Frankreich stamme, freue ich mich immer über Anmerkungen zu den Fehlern, die ich auf Englisch mache, denn nur so kann ich sie in Zukunft vermeiden. Auf der anderen Seite kenne ich einige Leute, die sich wirklich verletzt fühlen, wenn man ihnen von Grammatikfehlern erzählt, die sie machen.
  • Wie John R. Strohm sagte, mach es niemals öffentlich. Die meisten Leute werden sich wirklich darüber ärgern.

11
"Vielleicht war es nur ein Copy-Paste von einer Website." Dann sollte die Person, die es kopiert, das Problem erkannt und behoben haben. Es wörtlich zu kopieren und Fehler zu hinterlassen ist genauso schlimm oder schlimmer als es selbst zu schreiben und die Fehler zu erzeugen. "Ich kenne mehrere Leute, die sich wirklich verletzt fühlen, wenn man ihnen von Grammatikfehlern erzählt, die sie machen." Im Geschäftsleben sollten wir uns alle als Erwachsene und Mitarbeiter verhalten, die zusammenarbeiten, um ein gemeinsames Ziel zu erreichen. Die Person, die das Problem anspricht, muss Takt verwenden, und die Person, die die Kritik erhält, muss sie akzeptieren und daraus erwachsen.
der Blechmann

3
Ich stimme zu 100% zu, dass wir uns als Profis wie Erwachsene verhalten und dies nicht persönlich nehmen sollten. Aber es muss unbedingt darauf hingewiesen und korrigiert werden. Ja, Takt sollte angewendet werden, und je nach Individuum sollte nach Bedarf vorgegangen werden. Wenn Sie sich jedoch in einem Umfeld befinden, in dem es ratsam ist, das Problem vollständig zu vermeiden, ist es möglicherweise an der Zeit, das Unternehmen zu verlassen. Dies würde auf eine vergiftete Umgebung hinweisen.
Mark Freedman

Jeder Rechtschreibfehler kann durch eine einfache Google-Suche überprüft werden
JoelFan

2

Ich würde empfehlen, eine IDE mit integrierter Rechtschreibprüfung zu verwenden. IntelliJ Idea leistet hervorragende Arbeit für Java-Programme. Es gibt viele peinliche Tippfehler, nicht nur bei Funktionsnamen, sondern auch bei Ausnahmemeldungen, die der Benutzer sieht. Ein Programm, das Nachrichten voller Tippfehler erzeugt, weckt nicht viel Vertrauen.


0

Ich mache es nur wenn

  • Dies wirkt sich auf die Verwendung des Programms aus
  • Dies wirkt sich auf die Genauigkeit des Programms aus
  • Ich weiß ausdrücklich, dass der Autor korrigiert werden möchte.

Nur als Randnotiz, wenn Ihre Funktionsnamen lang genug sind, um Grammatik zu haben, sind sie wahrscheinlich zu lang. In dem gegebenen Beispiel würde ich die Funktion userHasPermission aufrufen und die "Grammatik" in Ihren Code verschieben, ungefähr so:

if userHasPermission() ...

1
Es gibt jedoch immer noch das gleiche Potenzial für Grammatikfehler, da dies in diesem Fall userHavePermission()falsch wäre.
Dean Harding

Aber genau das ist der Punkt !! userHasPermission()impliziert, dass aufgrund der Grammatik ein Bool zurückgegeben wird ~ ODER ~, was bedeuten könnte, dass die Benutzerberechtigung festgelegt wird. (Offizier hat die Brücke :: Benutzer hat Erlaubnis). Es ist immer noch vage.
Stephen Furlani

Ich bin damit einverstanden, dass die Beispielnamen im Q unnötig lang sind, aber ich warne vor der "zu langen" Verallgemeinerung. In diesem Fall kann das Konzept in weniger Worten ausgedrückt werden und sollte daher kürzer sein. Was ist "zu lang"? Gibt es eine Zeichen- oder Wortbegrenzung?
LS

0

Dies passiert auch VIEL in meinem Projekt (das von hebräisch, russisch oder arabisch sprechenden Leuten bevölkert wird), aber sogar auf einer höheren Ebene - oft sehe ich Code, der eine undurchsichtige Terminologie verwendet, die das ist, wofür das Wörterbuch als Übersetzung erstellt wurde was der Autor vorhatte, und es hat nichts mit dem zu tun, was sie meinten ...

Persönlich neige ich dazu, den Code zu ignorieren, wenn er so häufig vorkommt und von so vielen Teammitgliedern, die ihn hätten schreiben können, noch bevor ich dem Projekt beigetreten bin, weil es einfach keine Rolle spielt.

Wenn ich jedoch eine Arbeit in der gleichen Datei wie Code oder Kommentare, die vor langer Zeit geschrieben wurden, festlege und Tippfehler in der Datei haben, korrigiere ich sie, nur weil es nicht zu viel Arbeit ist.


0

Goldene Regel gilt

Tun Sie anderen gegenüber so, wie Sie es möchten.

Ich möchte, dass andere dieser Sache den Rücken kehren, also helfe ich anderen. Gnädig und unterstützend zu sein, kann einen großen Beitrag zu Ihren Gunsten leisten.


2
-1 für Unbestimmtheit - Ich habe keine Ahnung, was Sie dem Fragesteller raten.
HedgeMage

@HedgeMage, ich empfehle dem OP, en.wikipedia.org/wiki/The_Golden_Rule
kevpie

2
Ich bin damit vertraut. Abgesehen davon, dass sie offensichtlich albern ist (es gibt keinen Grund zu der Annahme, dass Alice so behandelt werden möchte, wie Bob behandelt werden möchte), lenkt sie vom eigentlichen Problem ab: dem Erstellen von gutem Code. Klar, ich werde kein Idiot sein, aber ich beziehe mich nicht darauf, ob die Person, die schlechten Code schreibt, ein technisches Problem aufwirft oder nicht.
HedgeMage

Ich denke, die Beschwerde von @ HedgeMage kann folgendermaßen dargestellt werden: Ich möchte, dass der Code die höchste Qualität aufweist, die aufgrund der verfügbaren Zeit und Ressourcen möglich ist, da mir das Projekt und meine zukünftige Arbeit daran am Herzen liegen. Bob möchte Kritik für korrigierbare Fehler vermeiden, weil er Kritik nicht gut auffasst. Wir werden die "goldene Regel" ganz anders umsetzen.
Augenlosigkeit

Der Rat bedeutet, dass der OP so arbeitet, wie er behandelt werden möchte. Bob nicht zu behandeln, wie Bob behandelt werden möchte. Ich habe das OP ermutigt, Bob zu korrigieren, da er (das OP) wegen der gleichen Fehler korrigiert werden möchte, insbesondere in dem Kontext, den das OP geteilt hat.
Kevpie

0

Wie bei vielen anderen guten Programmierpraktiken besteht die einzige objektive, unpolitische und wirksame Möglichkeit, eine Richtlinie zur Rechtschreibung in Programmen umzusetzen, darin, sie im Rahmen des Pre-Commit-Prozesses zu automatisieren. Die Automatisierung erspart Ihnen enorme Probleme, selbst wenn Sie zu diesem Zweck Ihr eigenes Werkzeug schreiben müssen.


3
Viele der wichtigsten Fehler lassen sich nicht automatisch abfangen. Dies gilt auch für Rechtschreibung und Grammatik. Sie könnten eine automatische Prüfung durchführen, die Ergebnisse müssten jedoch Warnungen entsprechen. Dies liegt daran, dass die Rechtschreibprüfung sowohl falsche Positive (z. B. Eigennamen) als auch falsche Negative (auch zwei bis) erzeugt. Manuelle Eingriffe sind also notwendig.
Matthew Flaschen

Diese Art der Automatisierung löst diese Probleme nicht, sondern fängt nur einige der Fehler ab, die Menschen machen.
überfüllt

Autokorrektur ??? Es gibt viele Beispiele für Autokorrektur-Fehler im Internet. Das ist definitiv nicht gut.
Florian F

0

Dies ist ein kleiner Fehler im Code, aber ein Fehler. Behandle es wie jeden anderen Fehler, den du findest. Ich gehe immer davon aus, dass meine Mitarbeiter kompetent sind, und behandle sie so, bis sie das Gegenteil beweisen.

Wenn es sich um einen einzelnen Fehler handelt, kann ich ihn einfach beheben und einchecken. Wenn es sich um ein Muster handelt, kann ich den Kollegen veranlassen, diese Korrekturen zu überprüfen. Lassen Sie sie wissen, dass Sie denken, dass sie ein guter Programmierer sind, aber dass dies etwas wäre, das verbessert werden könnte. Ich glaube nicht, dass ich jemals eine große Sache mit so etwas machen würde.

Solange Sie es nicht wie ein großes Problem behandeln, sollte es einfach sein, diesen Mitarbeiter in eine Position zu bringen, in der er sich verbessern kann, ohne das Ego in Frage zu stellen.


-1

userPermission () vielleicht? -

Das letzte Problem, auf das ich gestoßen bin, war ein globales Problem, bei dem Suchergebnisse nicht hervorgehoben wurden, da der Klassenname als Hervorhebung geschrieben wurde. Sehr dunkler Bug zu erkennen.


Downvoting ohne Kommentar ist ein Greuel.
Mplungjan

-1

Sicher, machen Sie darauf aufmerksam, aber verschwenden Sie keine Zeit damit, nach Rechtschreibfehlern zu suchen. Verwenden Sie ein Tool, um dies auf Ihrem CI zu automatisieren. Auf .net kann fxCop dies tun ...


-2

Es hängt weitgehend davon ab, welche Fehler vorliegen, wie häufig und wie schlimm sie sind und ob es sich tatsächlich um einen echten Fehler handelt oder einfach nicht, wie Sie ihn ausdrücken würden.

Ich persönlich kann es nicht ertragen, wenn ein Idiot eine 5-minütige Code-Überprüfung auf eine halbe Stunde hinauszieht, weil er möchte, dass alles so umbenannt wird, wie er es tun würde, und alle Kommentare umformuliert werden, nur weil er sein Ruder gern reinsteckt Das heißt, "Laden von Datenobjekten" muss nicht in "Die Datenobjekt-Ladekomponente lädt jetzt die relevanten Datenobjekte von der Datenobjekt-Speicherkomponente" geändert werden.

/ schimpfen :)


2
Auf Dingen zu bestehen ist eine Sache. Es ist eine andere Sache, darauf zu bestehen, dass die Dinge die richtige Rechtschreibung und Grammatik verwenden.
David Thornley

Ich bin mir nicht ganz sicher, warum meine Antwort eine Ablehnung verdient, aber vergiss es ... Und wo ist meine Antwort auf Davids Kommentar geblieben? Auf jeden Fall ist eine 100% korrekte englische Grammatik bei der Entwicklung nicht immer wünschenswert. In meinem obigen Beispiel ist "Laden von Datenobjekten" kein vollständiger Satz, aber es ist der bevorzugte Wortlaut der beiden - kurz, leicht zu lokalisieren und nimmt nicht viel Platz ein.
JohnL
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.