Obwohl grammatikalisch falsch, ist es beim Schreiben von Bezeichnern für Funktionen, Variablen usw. sinnvoll, einfach ein "s" an mehrere Wörter anzuhängen, die mit Y enden? Mein Grund dafür wäre, dass, wenn Sie beispielsweise "Unternehmen" durch "Anbieter" ersetzen und ersetzen müssen, "Unternehmen" sowohl Singular- als auch Pluralformen (" Unternehmen " und " Unternehmen ") entspricht Wenn der Plural richtig geschrieben wäre, müssten Sie zwei separate Suchen durchführen.
9
Antworten:
Eine solche Suche und Ersetzung sollte mit Sorgfalt durchgeführt und jede Änderung manuell überprüft werden, um beispielsweise zu vermeiden, dass ein Kommentar mit Ihrem Unternehmens- / Lieferantenwechsel zum "Lieferanten" wird. Daher sollten zwei getrennte Suchvorgänge nach "Unternehmen" und "Unternehmen" im Vergleich zu der Zeit, die für die Überprüfung und Genehmigung jeder Änderung aufgewendet wird, keinen erheblichen Overhead verursachen.
Falsch geschriebene Wörter, um nur eine Suche zu erreichen, bieten also die Nachteile, schlecht auszusehen und schwieriger zu lesen als nötig, ohne einen offensichtlichen Vorteil zu bieten.
quelle
Ich gehe davon aus, dass Sie über das Umbenennen in Quellcodedateien sprechen. Bei heutigen IDEs sollte dies immer mit den Refactoring-Tools der IDE erfolgen. Wenn Ihre IDE dies nicht hat, sollten Sie zu einer anderen IDE wechseln. Die meisten IDE-Refactoring-Tools führen auch eine Refactoring-Historie, sodass Sie schnell "rückgängig machen" können, wenn Ihnen die Ergebnisse des Refactors nicht gefallen. Wenn Sie Suchen / Ersetzen verwenden, können Sie möglicherweise nicht alle Änderungen rückgängig machen (es sei denn, Sie verwenden möglicherweise Ihre Tools zur Revisionskontrolle und kehren zur zuvor festgeschriebenen Version zurück). Mit Refactoring-Tools können Sie außerdem sicher sein, dass Sie nicht versehentlich etwas ändern, das Sie nicht ändern wollten.
quelle
Ja! Ja! Ja! Das macht durchaus Sinn. Und ich mache es seit Jahren.
Offenlegung 1: Englisch ist nicht meine Muttersprache.
Offenlegung 2: Meine Kenntnisse der englischen Grammatik sind erheblich besser als die eines durchschnittlichen Muttersprachlers.
Offenlegung 3: Wenn es um die Kommunikation mit Menschen geht, bin ich ein vehementer Grammatik-Nazi.
Und jetzt, da diese Angaben nicht im Weg sind, möchte ich feststellen, dass die englische Grammatik keinen Platz im Code hat. Sie sehen, deshalb heißt es Code und nicht Prosa . Es soll eine gewisse Ähnlichkeit mit einer Sprache haben, die vom Menschen zum Zweck der Lesbarkeit verstanden wird, aber abgesehen davon brauchen wir vom Code meistens nicht die Eigenschaften der Prosa; Es sind andere, eher technische Eigenschaften wie Präzision , Eindeutigkeit und Knappheit . Deshalb ist die C - Syntax
if( x != y ) y++;
ist viel besser, dieIF X IS NOT EQUAL TO Y THEN ADD 1 TO Y END-IF.
Syntax von Cobol. Die angebliche Wünschbarkeit von Compilern, die natürliche Sprache verstehen, ist ein Trugschluss, und nehmen Sie nicht mein Wort dafür, sehen Sie, was ol'Edsger dazu zu sagen hat:Edsger W. Dijkstra, Über die Dummheit der "Programmierung natürlicher Sprache" .Eine weitere wichtige Qualität ist die Berechenbarkeit von Bezeichnern . Die Tatsache, dass eine aufgerufene Eigenschaft
Color
immer über eine aufgerufene Methode gelesen und über eine aufgerufene MethodegetColor()
geschrieben werden kann,setColor()
ist von größter Bedeutung. Diese Kennungen können aus dem Namen der Eigenschaft berechnet werden, sodass Sie sie nicht auswendig müssen. Wenn ein Programmierer ein Methodenpaar wählen würdegetColor()
,colorize()
das einerseits aufgerufen wird, andererseits aber , würden seine Kollegen diese Sabotage zu Recht in Betracht ziehen. So wichtig ist die Berechenbarkeit von Bezeichnern.Außerdem können Programmierwerkzeuge geschrieben werden (und viele davon wurden tatsächlich geschrieben, z. B. Hibernate ), mit denen diese Namen berechnet werden können. Ohne Berechenbarkeit des Bezeichnernamens müssten Sie zusätzliche Syntax verwenden (z. B. im Ruhezustand zusätzliche Anmerkungen), um jedem Tool genau anzugeben, wie jeder einzelne Bezeichnername erstellt werden soll oder welchen Ad-hoc-Namen Sie jeder Entität genau gegeben haben.
Daher ist die Berechenbarkeit von Bezeichnern wichtig, während gleichzeitig die englische Grammatik irrelevant ist (da wir keine Programmierung in natürlicher Sprache durchführen), um den Namen einer Sammlung von Entitäten berechnen zu können, indem immer "s" an den Namen angehängt wird von einer einzelnen Instanz macht vollkommen Sinn, egal, dass es die Empfindlichkeiten der meisten Menschen (meine eingeschlossen) in englischer Sprache verletzt.
Und ob es uns gefällt oder nicht, das ist der Trend der Zukunft. Die Muttersprache der meisten Programmierer auf dem Planeten ist nicht mehr Englisch, und der Trend geht dahin, in dieser Richtung weiterhin sehr stark zu sein. (Außerdem wäre ich nicht einmal bereit, Geld auf den Vorschlag zu setzen, dass Englisch die Muttersprache der Mehrheit der Programmierer ist, die derzeit in den USA arbeiten.) Dies sind Personen, die zu einem großen Teil versuchen, den Namen zu berechnen einer Sammlung aus dem Namen einer einzelnen Instanz von "Unternehmen" wird einfach ein "s" anhängen, und die Form "Unternehmen" wird ihnen nicht einmal in den Sinn kommen. Für einen großen und ständig wachsenden Prozentsatz von Programmierern auf der Welt bedeutet die Kenntnis der Besonderheiten der englischen Sprache keinen Mehrwert für ihre Arbeit, sondern macht sie nur geringfügig schwieriger.
quelle
Companys
wenn es sein sollteCompanies
. Schließlich besteht der gesamte Sinn des Codes, den wir normalerweise schreiben, darin, ihn der natürlichen Sprache näher zu bringen.