Regel
Vermeiden Sie übermäßig große Dateien.
Große Dateien mit mehreren Verantwortlichkeiten
sind schwer zu pflegen.
Unterstützte Sprachen: 45+Einleitung
Dateien, die Tausende von Zeilen umfassen, behandeln typischerweise mehrere nicht zusammenhängende Anliegen, was es schwierig macht, spezifische Funktionalitäten zu finden. Eine 3000-Zeilen- utils.js Eine Datei, die Validierungs-Helfer, String-Formatierung, Datumsmanipulation und API-Dienstprogramme enthält, zwingt Entwickelnde, durch nicht zusammenhängenden Code zu scrollen, um zu finden, was sie benötigen. Große Dateien führen auch zu Merge-Konflikten, da mehrere Entwickelnde gleichzeitig verschiedene Abschnitte ändern.
Warum es wichtig ist
Code-Wartbarkeit: Große Dateien vermischen unabhängige Funktionalitäten, was von Entwickelnde erfordert, Hunderte von Zeilen irrelevanten Codes zu verstehen, um eine einzige Funktion zu ändern. Das Auffinden spezifischer Logik wird zu einer Suchübung, anstatt zu einer entsprechend benannten Datei zu navigieren.
Versionskontrollkonflikte: Wenn mehrere Entwickelnde an verschiedenen Features in derselben großen Datei arbeiten, treten häufig Merge-Konflikte auf. Kleinere, fokussierte Dateien ermöglichen parallele Entwicklung, da jede*r Entwickelnde in separaten Dateien arbeitet.
Effizienz von Code Reviews: Die Überprüfung von Änderungen in großen Dateien erfordert mehr Kontext. Reviewer müssen verstehen, wie sich Änderungen auf anderen, nicht verwandten Code in derselben Datei auswirken. Kleinere Dateien machen den Umfang der Änderungen offensichtlich und beschleunigen Reviews.
Code-Beispiele
❌ Nicht konform:
// utils.js (1500+ Zeilen)
function validateEmail(email) { /* ... */ }
function validatePhone(phone) { /* ... */ }
function formatCurrency(amount) { /* ... */ }
function formatDate(date) { /* ... */ }
function parseJSON(str) { /* ... */ }
function apiRequest(url) { /* ... */ }
function debounce(fn, delay) { /* ... */ }
function throttle(fn, limit) { /* ... */ }
// ... 100+ weitere nicht verwandte Funktionen
Warum es falsch ist: Eine riesige Datei enthält Validierung, Formatierung, Parsing, API-Aufrufe und Performance-Dienstprogramme. Das Finden debounce() Erfordert das Durchscrollen Hunderter nicht zusammenhängender Funktionen. Mehrere Teams, die diese Datei ändern, erzeugen ständige Merge-Konflikte.
✅ Konform:
// validation/email.js
// validation/phone.js
// formatting/currency.js
// formatting/date.js
// api/request.js
// performance/debounce.js
Warum dies wichtig ist: Jede Utility-Funktion in einer dedizierten Datei innerhalb kategorisierter Verzeichnisse. Finden debounce() bedeutet, zu navigieren zu performance/debounce.js direkt. Teams, die an verschiedenen Utilities arbeiten, kommen sich nicht in die Quere, da sie in separaten Dateien arbeiten.
Fazit
Halten Sie Dateien, wenn möglich, unter 500 Zeilen. Wenn Dateien diese Größe überschreiten, suchen Sie nach unterschiedlichen Verantwortlichkeiten, die in separate Module extrahiert werden können. Organisieren Sie verwandte Dateien in Verzeichnissen, um die Struktur zu erhalten und gleichzeitig einzelne Dateien fokussiert und wartbar zu halten.

