Kural
Kaçının aşırı büyük dosyalardan kaçının.
Büyük dosyalar içeren birden fazla sorumlulukları
şunlardır zor sürdürmek sürdürmek.
Desteklenen diller: 45+Giriş
Binlerce satırdan oluşan dosyalar genellikle birbiriyle ilgisiz birçok konuyu ele alır ve bu da belirli bir işlevin bulunmasını zorlaştırır. 3000 satırlık bir utils.js Doğrulama yardımcıları, dize biçimlendirme, tarih işleme ve API yardımcı programlarını içeren dosyalar, geliştiricilerin ihtiyaç duydukları şeyi bulmak için konuyla ilgisi olmayan kodlar arasında gezinmek zorunda kalmalarına neden olur. Büyük dosyalar, birden fazla geliştiricinin farklı bölümleri aynı anda değiştirdiği durumlarda birleştirme çakışmalarına da yol açar.
Neden önemli?
Kod bakım kolaylığı: Büyük dosyalar, birbiriyle ilgisiz işlevleri bir arada barındırır; bu da geliştiricilerin tek bir işlevi değiştirmek için yüzlerce satırlık alakasız kodu anlamalarını gerektirir. Belirli bir mantığı bulmak, uygun şekilde adlandırılmış bir dosyaya gitmek yerine bir arama çalışmasına dönüşür.
Sürüm kontrolü çakışmaları: Birden fazla geliştirici aynı büyük dosyanın farklı özellikleri üzerinde çalıştığında, birleştirme çakışmaları sık sık ortaya çıkar. Daha küçük ve belirli bir amaca yönelik dosyalar, her geliştiricinin ayrı dosyalarda çalışmasını sağlayarak paralel geliştirmeye olanak tanır.
Kod inceleme verimliliği: Büyük dosyalardaki değişiklikleri incelemek daha fazla bağlam bilgisi gerektirir. İnceleme yapanlar, yapılan değişikliklerin aynı dosya içindeki konuyla ilgisi olmayan diğer kodları nasıl etkilediğini anlamalıdır. Daha küçük dosyalar, değişikliklerin kapsamını net bir şekilde ortaya koyar ve bu da inceleme sürecini hızlandırır.
Kod örnekleri
❌ Uygun değil:
// utils.js (1500+ satır)
function validateEmail(e-posta) { /* ... */ }
işlev validatePhone(phone) { /* ... */ }
fonksiyon formatCurrency(tutar) { /* ... */ }
işlev formatDate(tarih) { /* ... */ }
işlev parseJSON(str) { /* ... */ }
fonksiyon apiRequest(url) { /* ... */ }
işlev debounce(fn, gecikme) { /* ... */ }
fonksiyon throttle(fn, limit) { /* ... */ }
// ... 100'den fazla alakasız işlev
Neden yanlış: Tek bir büyük dosya, doğrulama, biçimlendirme, ayrıştırma, API çağrıları ve performans yardımcı programlarını içermektedir. Bulma debounce() Yüzlerce alakasız işlev arasında gezinmeyi gerektiriyor. Bu dosyayı düzenleyen birden fazla ekip, sürekli birleştirme çakışmalarına neden oluyor.
✅ Uygunluk:
// validation/email.js
export function validateEmail(e-posta) { /* ... */ }
// validation/phone.js
export function validatePhone(phone) { /* ... */ }
// formatting/currency.js
export function formatCurrency(tutar) { /* ... */ }
// biçimlendirme/date.js
export function formatDate(tarih) { /* ... */ }
// api/request.js
export function apiRequest(url) { /* ... */ }
// performance/debounce.js
export function debounce(fn, delay) { /* ... */ }
Bunun önemi: Her bir yardımcı işlev, kategorilere ayrılmış dizinler içindeki ayrı bir dosyada yer almaktadır. Bulma debounce() şu adrese gitmek anlamına gelir: performance/debounce.js doğrudan. Farklı yardımcı programlar üzerinde çalışan ekipler, ayrı dosyalarda çalıştıkları için birbirleriyle çakışmazlar.
Sonuç
Mümkün olduğunca dosyaları 500 satırın altında tutun. Dosyalar bu sınırı aştığında, ayrı modüllere ayrılabilecek farklı işlevleri belirleyin. İlgili dosyaları dizinler halinde düzenleyerek yapıyı korurken, tek tek dosyaların odaklanmasını ve bakım kolaylığını sağlayın.

