Manchmal scheint es, dass ich wirklich keinen Namen für eine Funktion finden kann, die ich schreibe, kann das sein, weil die Funktion nicht zusammenhängend genug ist?
Was machst du, wenn dir kein guter Name für eine Funktion einfällt?
Um Benennungsfunktionen zu verwenden, vermeiden Sie einfach Substantive zu verwenden und benennen Sie sie nach Verben. Einige Hinweise:
validateInput()
und validateUserInput()
, da es schwer ist zu sagen, was man gegenüber einem anderen tut. Vermeiden Sie auch Zeichen, die sehr ähnlich aussehen, z. die Nummer 1 und Kleinbuchstaben "l". Manchmal macht es einen Unterschied. constructCarAndRunCar()
, sondern haben eine Funktion, die konstruiert, und eine andere, die sie ausführt. Wenn deine Funktionen zwischen 20 und 40 Zeilen liegen, bist du gut. sim_pauseSimulation()
und sim_restartSimulation()
. Wenn Ihre Klasse OOP-basiert ist, ist das kein Problem mehr. addToVector()
oder addToArray()
zu verwenden, müssen sie stattdessen addToList()
sein. Dies gilt insbesondere, wenn es sich um Prototypen handelt oder die Datenstrukturen sich später ändern können. Glückliche Codierung! :)
Manchmal könnte es sein, dass Ihre Funktion zu groß ist und Sie daher zu viele Dinge tun. Versuchen Sie, Ihre Funktion in andere Funktionen aufzuteilen, und es könnte klarer sein, welche einzelnen Funktionen aufgerufen werden sollen.
Mach dir keine Sorgen darüber, Dinge mit ein oder zwei Wörtern zu benennen. Manchmal, wenn Funktionen etwas tun, das in einem kleinen Satz erklärt werden kann, gehen Sie weiter und nennen Sie die Funktion ein wenig länger, wenn es anderen Entwicklern hilft zu verstehen, was vor sich geht.
Ein anderer Vorschlag ist es, Feedback von anderen zu bekommen. Oftmals haben andere, die aus einer anderen Perspektive kommen und die Funktion zum ersten Mal sehen, eine bessere Vorstellung davon, was sie die Funktion nennen sollen.
Ich folge folgender Regel: Name nach dem Zweck (Warum? - Designentscheidung) und nicht nach dem Inhalt (Was, wie? - kann im Code gesehen werden).
Für Funktionen ist es fast immer eine Aktion (Verb) gefolgt von dem Nomen der Parameter und (oder Ergebnisse. (Off-topic, aber für Variablen verwenden nicht "ArrayOfNames" oder "listOfNames", das sind Typ Informationen aber einfach "Namen") . Dies wird auch Inkonsistenzen vermeiden, wenn Sie den Code teilweise umgestalten.
Bei bestimmten Mustern wie der Objekterstellung, sei konsistent und benutze immer die gleiche Benennung wie "Create ..." (und nicht manchmal "Allocate ..." oder "Build ...") Sie oder Ihre Kollegen werden am Kratzen der Kopfwunde enden)
Geben Sie Ihr Best-Shot und re-Faktor später, wenn es immer noch nicht passt.
Ich finde es einfacher, Funktionen zu benennen, wenn ich nicht auf die Wörter verzichten muss. Solange Sie nicht Javascript für die Google Startseite tun, können Sie längere Namen machen.
Zum Beispiel haben Sie die Methode dequeueReusableCellWithIdentifier
und mergeChangesFromContextDidSaveNotification
in Äpfeln Kakaorahmen.
Solange es klar ist, was die Funktion macht, können Sie es benennen, was Sie wollen, und es später umgestalten.
Fast so wichtig wie der Funktionsname ist, dass Sie mit Kommentaren konsistent sind. Viele IDEs verwenden Ihre ordnungsgemäß formatierten Kommentare nicht nur, um kontextsensitive Hilfe für eine Funktion bereitzustellen, die Sie möglicherweise verwenden, sondern sie können auch zum Generieren von Dokumentationen verwendet werden. Dies ist unschätzbar , wenn Sie nach längerer Zeit oder bei der Arbeit mit anderen Entwicklern zu einem Projekt zurückkehren.
In akademischen Umgebungen bieten sie eine geschätzte Demonstration Ihrer Absichten.
Eine gute Faustregel ist [Verb] returnDescription. Dies ist mit den Funktionen vom Typ GetName () einfach und kann nicht universell angewendet werden. Es ist schwierig, ein Gleichgewicht zwischen unaufdringlichem und beschreibendem Code zu finden.
Hier ist ein .Net-Kongressleitfaden , der jedoch auf die meisten Sprachen anwendbar ist.
Gehen Sie zu www.thesaurus.com und versuchen Sie, einen besser passenden Namen zu finden, wenngleich Synonyme.