DRY (Don't Repeat Yourself)
"Sistemdeki her bilgi parçasının tek, kesin ve otoriter bir temsili olmalıdır."
Açıklama:
Aynı mantığı, formülü veya sabitleri projenin birden fazla yerine kopyalayıp yapıştırıyorsanız, ileride bu mantığı değiştirmeniz gerektiğinde %100 bir yeri unutacak ve bug'lara sebep olacaksınız.
Kod Örneği:
# Anti-Pattern (Kötü)
def calculate_salary_hr(hours):
return hours * 20 * 1.18 # %18 vergi doğrudan yazılmış
def calculate_salary_dev(hours):
return hours * 50 * 1.18 # %18 vergi burada da var
# DRY Uygulanmış Hali (İyi)
TAX_RATE = 1.18
def calculate_salary(hours, hourly_rate):
return hours * hourly_rate * TAX_RATE
Nasıl Uygulanır?
Veritabanı şemaları, iş mantığı kuralları veya API endpoint string'leri tek bir yapılandırma dosyasında tutulmalı ve her yerden orası referans alınmalıdır.