Genel olarak varsayılan değerlerle ilgili soru - varsayılan döndürme işlevi değerleri, varsayılan parametre değerleri, bir şey eksik olduğunda varsayılan mantık, istisnaları işlemek için varsayılan mantık, kenar koşullarını işlemek için varsayılan mantık vb.
Uzun bir süre için varsayılan değerlerin "saf kötülük" bir şey olduğunu düşündüm, "felaketi gizleyen" ve çok zor bir hata bulmasıyla sonuçlanan bir şey. Ama son zamanlarda varsayılan değerleri bir tür teknik borç olarak düşünmeye başladım ... ki bu oldukça kötü bir şey değil, ancak "kısa vadeli finansman" sağlayabilecek bir şey bizi projeden kurtulamamıza neden oluyor (kaçımız göze alabiliyordu) ipotek almadan ev satın almak?).
"Kısa süreli" dediğimde - demek istemiyorum - "önce hızlıca bir şeyler yapın ve daha sonra üretime çarpmadan önce onu yeniden düzenleyin". Hayır - Bir üretim yazılımında sabit kodlanmış varsayılan değerlere güvenmekten bahsediyorum. Verilen - bazı sorunlara neden olabilir, ancak ya bir yıl içinde sadece tek bir soruna neden olacaksa.
Yine - burada "ortalama" ana yazılımdan bahsediyorum (nükleer güç istasyonu için bir yazılım değil) - ortalama bir web sitesi veya muhasebe yazılımı için bir UI uygulaması, yani insanların yaşamlarının tehlikede olmadığı veya milyonlarca doların olmadığı .
Yine, tecrübelerime göre, iş kullanıcıları "bir şekilde çalışıyor" yazılımı ile yaşamayı tercih ederler, daha sonra mükemmel bir tane beklerler. Ve RAD tarzında bir yazılım geliştirirseniz varsayılan değerlerin kullanımı çok yardımcı olur. Ama yine de - harcadığım en uzun hata ayıklama oturumları, yol boyunca "varsayılan" olmayı bırakan varsayılan bir değerin getirdiği hatalardan veya küçük bir alt sistemin yakın zamanda yükseltilmesinden ve bu yükseltmenin bir sonucu olarak varsayılanı doğru şekilde işleyin (örn. boş liste null veya boş dize vs boş dize).
Benim sorum şu - varsayılan değerler iyi mi kötü mü? Ve eğer teknik bir borçsa - geri ödemeleri karşılayabilmek için ne kadar ödünç alabileceğinizi nasıl ölçersiniz?
Herhangi bir girdi gerçekten takdir ediyorum.
Şerefe.
DÜZENLE:
Varsayılan değerleri geliştirme sırasında köşeleri kesmenin bir yolu olarak kullanıyorsam - ve köşeleri kesen hatalara ve sorunlara neden oluyorsa - bu sorunlardan kurtulmanın yöntemi nedir?