Einen Satz mit einem Funktionsnamen beginnen? [geschlossen]

42

Manchmal beginne ich einen Satz mit einem Funktionsnamen, während ich etwas schreibe, das sich auf die Groß- und Kleinschreibung einer Programmiersprache bezieht. Nun besagen die Regeln des Englischen, dass das erste Wort in einem Satz groß geschrieben werden muss; Der Funktionsname ist jedoch klein geschrieben. Wenn Sie sich fragen, was ich damit sagen könnte, dass das erste Wort ein Funktionsname ist, nehmen Sie folgendes Beispiel:

Ihre Fread-Implementierung ist fehlerhaft. fread muss zurückgeben, wie viele Bytes gelesen wurden.

Ich verstehe, dass ich die zweite Instanz von fread in It ändern könnte , aber ich möchte wissen, wie ich das am besten handhaben kann, als nur den Satz neu zu schreiben. Soll ich den Funktionsnamen in Großbuchstaben schreiben? Die einzige Möglichkeit, die ich als Antwort hören möchte, ist, wenn das Beginnen des Satzes mit einem Funktionsnamen gegen eine mir nicht bekannte englische Regel verstößt. Edit: Ich danke allen für diese Antworten. Sie haben meine Einsicht in das Thema verändert und verbessert. Daraus habe ich einiges gelernt. Ich bin sehr überrascht, dass ich nicht an diese einfachen, aber guten Lösungen gedacht habe.

Ich denke, meine Haltung zum Alternieren des Satzes war zu hart und jetzt erkenne ich aufgrund dieser guten Antworten, dass das allgemeine Ändern des Satzes die beste Option ist, um mit diesen Fällen umzugehen, sei es das Hinzufügen von Klammern nach der Funktion oder das Aussprechen der Funktion vor dem Funktionsname und, falls verfügbar, Formatierung für den Funktionsnamen.

user3462295
quelle
1
@gnat Ich frage nicht, wie ich etwas benennen soll, sondern wie ich einen Satz mit einem Funktionsnamen beginnen soll.
user3462295
13
Es gibt eine verwandte Konvention in der Mathematik, dass man vermeiden sollte, einen Satz mit einem Variablennamen oder einer Formel zu beginnen. Dies trotz der Tatsache, dass wir eine typografische Konvention haben, dass Variablen und Formeln kursiv dargestellt werden, um sie vom Text abzugrenzen. Man würde vermeiden zu schreiben "Sei x eine Potenz von 2. x ist positiv, also ..." Die übliche Lösung besteht darin, ein Füllwort umzuformulieren oder hinzuzufügen: "Jetzt ist x positiv" oder "Wir haben das x positiv" oder so etwas.
Nate Eldredge
9
Eine Kennung aus einer Programmiersprache sollte als behandelt wird Fremdwort und soll nicht die gleichen Regeln der englischen Sprache sein.
Rufflewind
1
Es gibt einige bemerkenswert aktive Programmierer auf English.SE ( tchrist ... nicht so sehr Eric Lippert ) - aber es hängt von der Art der Antwort ab, die Sie wollen. Wir schreiben dies als Programmierer auf einer programmiererorientierten Site. Wenn Sie mehr an den Formalitäten des technischen Schreibens, den Richtlinien für Tagebücher und der richtigen englischen Satzstruktur interessiert sind, sollten Sie Ihre Zielgruppe von Experten überdenken.
2
Diese Frage scheint nicht zum Thema zu gehören, da es sich um die englische Sprache und Verwendung handelt und wir eine komplette StackExchange-Site dafür haben. Tatsächlich gibt es mindestens vier ähnliche Fragen gibt . Außerdem können unterschiedliche Antworten gleichermaßen gültig sein, je nachdem, wo die Schrift erscheint usw.
Caleb

Antworten:

87

In der Typografie wird dies im Allgemeinen mithilfe einer anderen Darstellung behandelt, unabhängig davon, ob es sich um den Beginn eines Satzes handelt oder nicht, um anzuzeigen, dass das, was auf das Auge trifft, nicht nur ein Wort im Satz ist, sondern eine besondere Entität.

Ihre freadImplementierung ist fehlerhaft. freadmuss zurückgeben, wie viele Bytes gelesen wurden.

Je nachdem, wie formal ein Dokument ist, kann es denselben Ansatz verfolgen. In jedem Fall wird das von Ihnen identifizierte Problem dadurch beseitigt, sodass Sie es möglicherweise nur aus diesem Grund verwenden möchten.

In der Welt des Klartextes (wie in Kommentaren und anderen Antworten mehrfach erwähnt) hilft das Anhängen von Klammern an Funktionsnamen ein wenig, aber da wir auch auf Entitäten verweisen müssen, die keine Klammern verwenden, hat dies nur einen begrenzten Wert. Im Allgemeinen gibt es in der Welt des Klartextes keine andere Möglichkeit, als das Problem zu umgehen, indem der Satz umstrukturiert wird, als eine Konvention anzunehmen, den Text mit Sonderzeichen wie Klammern und Sternchen zu umgeben.

Reg Edit
quelle
Ja, ich verstehe Ihren Standpunkt, es ist immer noch umständlich, aber weniger umständlich. Ich verstehe jedoch, dass Gefühle nicht immer den Regeln der Grammatik und des Schreibens entsprechen. Ich bin mir nicht sicher, ob es einen besseren Weg gibt, um damit umzugehen, also werde ich Ihre Antwort akzeptieren, es sei denn, jemand kommt auf etwas Besseres.
user3462295
25
Ich schreibe oft nur kursiv für solche Dinge - Sie sollten immer die Groß- und Kleinschreibung beachten , unabhängig davon, wo sie sich in einem Satz befinden, IMO. freadist kein Wort; Es ist ein Symbol, das eine Entität darstellt. Es unterliegt nicht der Grammatik.
Ant P
4
Und ... was machen Sie, wenn Sie mit Klartext zu tun haben? Wie in einer kleinen .txt-Hilfedatei oder einer einfachen Text-E-Mail? Ich schlage vor, auch dieses Szenario in Ihre Antwort aufzunehmen.
Ellesedil
2
@Ellesedil In diesem Fall werde ich es normalerweise mit einem Suffix versehen ()oder (...)angeben, dass es sich um eine Funktion handelt. Aber das funktioniert nicht immer, besonders wenn es um Variablen und dergleichen geht. Was ich dann mache, ist, den Namen mit `(Häkchen) zu umbrechen, um den Code anzuzeigen.
Cole Johnson
4
@Ellesedil Ich habe mich daran gemacht, die Markdown-Syntax zum Anzeigen von Codeelementen zu verwenden, auch in Klartext-Kontexten wie Kommentaren. Es ist das einzige Mal, dass ich beim Schreiben von einfachem Englisch jemals ein Backtick-Symbol verwenden musste.
Keen
53

Wenn es absolut erforderlich ist, jeden Satz mit einer Großbuchstabe zu beginnen, ersetzen Sie ihn einfach durch fread"Die freadFunktion", wo immer er einen Satz beginnt.

x-code
quelle
21

Wenn Sie keine typografischen Mittel zur Unterscheidung haben (wie in einer anderen Antwort angegeben), und wenn Sie dies auch tun, kann es hilfreich sein, durch Verwendung von Parens darauf hinzuweisen, dass Sie über eine Funktion sprechen:

Die Implementierung von fread () ist fehlerhaft. fread () muss zurückgeben, wie viele Bytes gelesen wurden.

Dies hilft bei den „erklären“ , warum es nicht zu Beginn des zweiten Satzes aktiviert wird, und hilft auch (im ersten Satz) zu verstehen , warum der Eigenname (Name einer Funktion) nicht aktivierte dort entweder . Da (als Eigenname) sollte es wohl gewesen sein.

("wohl", weil wir darüber streiten könnten, ob fread () ein Gattungsname oder ein Eigenname ist).

Insgesamt hilft die Verwendung von Parens dem Gehirn des Lesers zu verstehen, warum seltsame Wörter erscheinen und was sie sind.

GreenAsJade
quelle
5
Durch die Verwendung von Parens wird auch die Textredundanz verringert. Anstelle von "the function fread" kann man auch nur "fread ()" sagen. Und es ist auch nützlich, wenn Sie eine Art Hervorhebung haben, um den Unterschied zwischen Dingen wie Variablennamen und Funktionen hervorzuheben.
Paul92
3
Ich denke, Klammern sorgen nur für mehr Verwirrung. fread()könnte ein Aufruf sein. Oder es könnte sich um eine überladene Funktion ohne Parameter handeln.
Kapex
4
@kapep Wird im Allgemeinen in Dokumenten, die sich auf Code beziehen, func_name()als "eine Funktion mit dem Namen func_name" gelesen , unabhängig davon, ob die eigentliche Funktion selbst Parameter enthält oder nicht.
Eric Finn
3
@EricFinn Nach meiner Erfahrung bezieht es sich im Allgemeinen auf parameterlose Funktionen, aber es hängt sicherlich von der Sprache und ihren Konventionen ab. In den offiziellen Java-Kommentarrichtlinien wird beispielsweise von der Verwendung von Klammern abgeraten: "Wenn Sie auf eine [bestimmte Form einer Methode] verweisen, verwenden Sie Klammern und Argumenttypen. [...] Wenn Sie sich jedoch auf beide Formen der Methode beziehen, lassen Sie dies aus Es ist irreführend, leere Klammern einzufügen
kapex
3
Obwohl das Hinzufügen eines visuellen Hinweises sicherlich eine gute Idee ist (das Beste ist eine dedizierte Schriftart oder ein anderes Highlight), stimme ich kapep zu, dass das Anhängen leerer Parens eine wirklich problematische Wahl ist, da in jeder Sprache, die ich kenne f(), etwas anderes bedeutet als f. Warum nicht umschließen den Namen mit einem geeigneten Charakter, zB Abschlags-Stil `fread` (das ist , was ich dazu neigen , in VCS zu tun Commit - Nachrichten)? Oder einfach (fread). Natürlich sollte so etwas konsequent gemacht werden, nicht nur für Funktionen am Satzanfang.
Leftaroundabout
10

Sie können den Satz mit der Beschreibung beginnen:

Die Funktion fread[…]

Die Methode fread[…]

Die Eigenschaft breadColor[…]

David Sergey
quelle
@Zack: Präsident Obama.
Marc van Leeuwen
@MarcvanLeeuwen Titel sind ein Sonderfall. (Auch "Queen Elizabeth", "Mister Rogers".) Ich habe keine genaue Analyse, aber intuitiv denke ich, dass sie eher als Teil des Namens als als eines Kategorietags angesehen werden.
3.
8

Sie können dies mit der Inline-Mathematik in Publikationen vergleichen. Sie werden sehr selten Sätze sehen, die mit einer Variablen oder einer anderen Inline-Mathematik beginnen.

Abschließend möchte ich sagen, dass Sie Funktionsnamen am Anfang eines Satzes vermeiden sollten.

Vielleicht liefert diese Frage weitere Details: Ist es in Ordnung, einen Satz mit einem griechischen Buchstaben (Variable) zu beginnen? .

Lukas
quelle
3
+1. In Mathematical Proofs (Chartrand et al., 2000), deren Kapitel 0 eine wahre Quelle guter Ratschläge für mathematisches Schreiben ist, lautet die allererste Regel unter Verwenden von Symbolen "Beginnen Sie einen Satz niemals mit einem Symbol". (Das Beispiel ist ein Satz, der mit einer Gleichung beginnt; die Autoren schlagen vor, ihm "Die Gleichung ___" voran zu stellen.) Obwohl nicht alle mathematischen Schreibempfehlungen unbedingt für das Schreiben über Quellcode gelten, denke ich, dass dies ein Bit ist, das dies tut.
Ruakh
1
Ich bin nicht sicher, ob ich der Analogie zustimme. Symbole wie $ x $ sind vorübergehend in einer Gleichung, daher ist es seltsam, sie so zu bezeichnen, als hätten sie eine globale Bedeutung. Wenn ein Symbol wie $ \ pi $ einen Satz beginnt, würde ich mich als Leser wohl fühlen.
Djechlin
1
@djechlin Ich bin mir nicht sicher, ob das Beginnen eines Satzes mit einem Symbol bedeutet, dass er eine globale Bedeutung hat oder tatsächlich etwas damit zu tun hat.
Kyle Strand
@KyleStrand Es wäre schön zu wissen, warum Sie niemals einen Satz mit einem Symbol beginnen sollten. "$ \ pi $ ist ..." v. "Die mathematische Konstante $ \ pi $ ist ..." - Sie wählen.
Djechlin
1
@djechlin: Ein Grund dafür ist, dass, wenn der vorherige Satz mit math endet, die Mathematik am Anfang des folgenden Satzes wie ein Teil derselben Formel mit einem Punkt dazwischen aussehen kann. (Dies ist ein noch größeres Problem bei Kommas.) Da Variablennamen normalerweise in Kleinbuchstaben geschrieben werden, verliert das Auge des Lesers den visuellen Anhaltspunkt, nach einem Großbuchstaben zu suchen, um den Anfang des nächsten Satzes zu finden.
Nate Eldredge
3

Die Linux- Manpage für fread (3) , die andere verlinkt haben, ist ein großartiges Beispiel für vier gängige Lösungen.

  1. Beginnen Sie Ihren Satz mit "Die Funktion foo" oder "Die Funktion foo". Msgstr "Der Funktionsbereich muss zurückkehren ..." .
  2. Markieren Sie den Funktionsnamen mit zusätzlichen Zeichen gemäß der von Ihrer Programmiersprachen-Community verwendeten Konvention. Im Fall von C ein leeres Klammernpaar, daher muss "fread () zurückgeben ..." .
  3. Verwenden Sie die Typografie (fett, mit fester Breite oder kursiv), um den Funktionsnamen hervorzuheben: " fread muss zurückgeben ..."
  4. Auf Systemen , die Verwendung man, wenn Ihre Funktion einen Mann Seite hat, beziehen sich auf das Kapitel des Handbuchs in Klammern. Also "fread (3) muss zurück ..."

Alle vier Ansätze sind für Hacker sofort erkennbar, und Sie sollten in der Lage sein, einen Ansatz zu wählen, der Ihrem Hausstil oder Ihrer persönlichen Stimme entspricht.

Wie Sie sagten, können Sie sich nicht auf Typografie verlassen, um Ihren Funktionsnamen hervorzuheben. Die Syntax von Markdown soll die Dokumentation auch dann lesbar machen, wenn ein Markdown-Interpreter nicht verfügbar ist. Umschließen Sie Ihren Funktionsnamen also auf jeden Fall mit einem Paar Backticks. (Dies ist vermutlich eine Kombination der Optionen 2 und 3.)

Option 2 variiert je nach Programmiersprache. Ruby- und Smalltalk-Dokumente stellen beispielsweise häufig einen Hash vor die Namen der Instanzmethoden, z . B. #fread . In der Zwischenzeit wird Lispers den Funktionsnamen vielleicht lieber offen lassen, aber er wird es verstehen, wenn Sie einen Funktionsaufruf wie (fread ...) oder (fread) schreiben . Spülen Sie und wiederholen Sie für alle Sprachen, die Sie dokumentieren.

Entkorken
quelle
Ich mag deine Antwort. Wenn Sie so vorgehen, sieht das Schreiben über Funktionen besser aus.
user3462295
2

Ich werde nur für das angegebene Beispiel antworten:

Ihre Fread-Implementierung ist fehlerhaft. fread muss zurückgeben, wie viele Bytes gelesen wurden.

Ersetzen Sie einfach den ersten Punkt (Punkt) durch ein Semikolon:

Ihre Fread-Implementierung ist fehlerhaft. fread muss zurückgeben, wie viele Bytes gelesen wurden.

EdHunter
quelle
3
Nein! das würde es zu einem Run-On-Satz oder Kommaspleiß machen. Sehr schlechte Grammatik. Ein Semikolon wäre in Ordnung.
Martin McCallion
Die Verwendung eines Kommas funktioniert also nicht immer. aber warum ein Komma verwenden?
Reinierpost
Es ist kein Komma. Es ist ein Semikolon; eine ordnungsgemäße Verwendung eines Semikolons.
RubberDuck
1
Ich persönlich würde hier einen Doppelpunkt anstelle eines Semikolons verwenden (obwohl dies auch mit einem Semikolon gut lesbar ist).
Marc van Leeuwen
0

Ich weiß, dass dies bereits beantwortet wurde und die akzeptierte Antwort ziemlich gut ist, aber ich möchte nur etwas klarstellen.

In der richtigen englischen Grammatik lautet das Fazit: Manchmal werden Eigennamen mit Namen versehen, die nicht mit einem Großbuchstaben beginnen, und in den meisten Fällen sind sie genauso verbunden, als würden "normale" Eigennamen nicht großgeschrieben aktiviert werden. In solchen Fällen - zu denen sicherlich die meisten Funktionsnamen in C-abgeleiteten Sprachen gehören - wird der Name auch am Anfang eines Satzes nicht in Großbuchstaben geschrieben. Tatsächlich ist es eine schlechte englische Grammatik und Rechtschreibung, dies zu tun. Dies ist eigentlich ein Teil des gleichen Prinzips, warum es richtig ist, Sonys Spielekonsole "PlayStation", aber nicht "Playstation" zu buchstabieren.

Es gibt andere Fälle, in denen ein Eigenname nicht standardmäßig großgeschrieben werden soll und es dennoch sein kann (und sollte), wenn es am Anfang eines Satzes verwendet wird. Der Name der Sprache Brainfuck ist ein Beispiel dafür. Funktionen in C-abgeleiteten Sprachen sind dies nicht. myFunc()und MyFunc()sind zwei völlig verschiedene Dinge in solchen Sprachen, und das Beginnen eines Satzes mit dem Wort "MyFunc ()" bezieht sich nur auf Letzteres, nicht auf Ersteres. In VB.NET ist dies jedoch eine Grauzone, da diese beiden Funktionen in dieser Sprache dasselbe sind, obwohl Funktionsnamen auf der einen oder anderen Ebene auch benutzerdefinierte Großschreibungsschemata beibehalten würden.

Auch wenn englische Regeln in diesem Fall in Stein gemeißelt sind, tendieren sie dazu, in der Regel etwas verschwommen zu werden. Englisch wurde nicht unter Berücksichtigung solcher Aspekte entwickelt, daher gibt es für andere Aspekte Raum für Improvisation.

Panzerkrise
quelle