Regel
Machen eine Funktion Zweck selbstverständlich.
Funktion Namen sollten klar kommunizieren , was die Funktion
tut ohne Leser Leser zu zu die Implementierung
Unterstützte Sprachen: 45+Einleitung
Funktionsnamen, die ihren Zweck nicht offenbaren, zwingen Entwickelnde, die gesamte Implementierung zu lesen, um das Verhalten zu verstehen. Eine Funktion namens process() oder handle() könnte alles tun, was geistige Anstrengung erfordert, um seinen tatsächlichen Zweck abzuleiten. Klare, beschreibende Namen wie validateUserEmail() oder calculateOrderTotal() Absicht sofort kommunizieren, wodurch Code selbstdokumentierend wird.
Warum es wichtig ist
Code-Wartbarkeit: Unklare Funktionsnamen verlangsamen das Verständnis. Entwickelnde verschwenden Zeit damit, Implementierungen zu lesen, um zu verstehen, was Funktionen tun, anstatt sich auf die Geschäftslogik zu konzentrieren. Dies verstärkt sich, wenn man Monate später zum Code zurückkehrt oder wenn neue Teammitglieder hinzukommen.
Falsche Verwendung: Mehrdeutige Funktionsnamen erhöhen die Wahrscheinlichkeit einer Fehlverwendung. Eine Funktion namens update() könnte validieren, transformieren, persistieren oder benachrichtigen, was dazu führt, dass Entwickelnde es falsch verwenden, da der Name das Verhalten nicht spezifiziert. Klare Namen verhindern Missbrauch, indem sie Einschränkungen und Nebenwirkungen dokumentieren.
Code-Beispiele
❌ Nicht konform:
function process(data) {
const result = data.map(item => ({
...item,
processed: true,
timestamp: Date.now()
}));
db.save(result);
notifyService.send(result);
return result;
}
Warum es falsch ist: Der Name process() Gibt nichts darüber preis, was mit den Daten geschieht. Leser müssen die Implementierung untersuchen, um zu erfahren, dass sie Elemente transformiert, in der Datenbank speichert und Benachrichtigungen sendet. Die Nebeneffekte und Verantwortlichkeiten der Funktion sind verborgen.
✅ Konform:
function markItemsAsProcessedAndSave(data) {
const processedItems = data.map(item => ({
...item,
processed: true,
timestamp: Date.now()
}));
db.save(processedItems);
notifyService.send(processedItems);
return processedItems;
}
Warum das wichtig ist: Der Name besagt explizit, dass die Funktion Elemente als verarbeitet markiert und speichert. Lesende verstehen den Hauptzweck der Funktion sofort, ohne die Implementierung zu lesen. Der Name deutet auf Nebenwirkungen hin (Speichern in der Datenbank) und setzt angemessene Erwartungen.
Fazit
Funktionsnamen sollten die Frage „Was tut dies?“ beantworten, ohne dass eine Code-Inspektion erforderlich ist. Fügen Sie Verben hinzu, die Aktionen beschreiben, und Substantive, die Ziele beschreiben. Wenn ein Name zu lang wird, tut die Funktion wahrscheinlich zu viel und sollte aufgeteilt werden.
.avif)
