Bunun gibi tanımlayıcılar için özel türler oluşturmayı düşünüyorum:
public enum CustomerId : int { /* intentionally empty */ }
public enum OrderId : int { }
public enum ProductId : int { }
Bunun için birincil motivasyonum, bir orderItemId öğesini orderItemDetailId bekleyen bir işleve yanlışlıkla geçirdiğiniz hata türlerini önlemektir.
Sıralamalar tipik bir .NET web uygulamasında kullanmak istediğim her şeyle sorunsuz çalışıyor gibi görünüyor:
- MVC yönlendirme iyi çalışıyor
- JSON serileştirmesi iyi çalışıyor
- Aklıma gelen her ORM iyi çalışıyor
Şimdi merak ediyorum, "Bunu neden yapmamalıyım?" Aklıma gelen tek dezavantaj bunlar:
- Diğer geliştiricileri karıştırabilir
- Entegre olmayan tanımlayıcılarınız varsa sisteminizde tutarsızlık sağlar.
- Gibi ekstra döküm gerektirebilir
(CustomerId)42. Ancak bunun bir sorun olacağını düşünmüyorum, çünkü ORM ve MVC yönlendirmesi genellikle size doğrudan enum tipinin değerlerini verecek.
Benim sorum şu: Neyi kaçırıyorum? Bu muhtemelen kötü bir fikir, ama neden?