Şahsen, ben bir araştırma döngüsündeyken veya sadece "oynarken" Tuples'ı geliştirmenin yinelemeli bir parçası olarak görüyorum. Bir Tuple genel olduğundan, genel parametrelerle çalışırken bunu düşünme eğilimindeyim - özellikle genel bir kod parçası geliştirmek istediğimde ve kendime "bu çağrıyı nasıl isterim?" Diye sormak yerine kodun sonunda başlıyorum bakmak?".
Çoğunlukla Tuple formlarının bir listenin parçası haline geldiğini ve List> 'e bakmanın listenin amacını ya da nasıl çalıştığını gerçekten ifade etmediğini fark ediyorum. Sıklıkla onunla "yaşıyorum", ancak kendimi listeyi manipüle etmek ve bir değeri değiştirmek isterken buluyorum - bu noktada, bunun için mutlaka yeni bir Tuple oluşturmak istemiyorum, bu nedenle kendi sınıfımı veya yapımı oluşturmam gerekiyor tutmak için, böylece manipülasyon kodu ekleyebilirim.
Elbette, her zaman genişletme yöntemleri vardır - ancak çoğu zaman bu ekstra kodu genel uygulamalara genişletmek istemezsiniz.
Verileri bir Tuple olarak ifade etmek istediğim ve Tuple'ların mevcut olmadığı zamanlar oldu. (VS2008) bu durumda kendi Tuple sınıfımı oluşturdum - ve onu iş parçacığını güvenli (değişmez) yapmıyorum.
Bu yüzden, Tuples'ın amacını açıklayan bir tür adını kaybetme pahasına tembel programlama olduğunu düşünüyorum. Diğer masraf, parametre olarak kullanıldığı her yerde Tuple'ın imzasını beyan etmeniz gerektiğidir. Şişirilmiş görünmeye başlayan bir dizi yöntemden sonra, benim yaptığım gibi, yöntem imzalarını temizlerken bir sınıf oluşturmaya değer olduğunu hissedebilirsiniz.
Sınıfı, halihazırda çalışmakta olduğunuz sınıfın genel bir üyesi olarak başlama eğilimindeyim. Ancak, basitçe bir değerler koleksiyonunun ötesine geçtiği anda, kendi dosyasını alır ve onu içerdiği sınıfın dışına taşırım.
Geriye dönüp baktığımda, gidip bir sınıf yazmak istemediğimde Tuples'ı kullandığıma ve şu anda yazdıklarımı düşünmek istediğime inanıyorum. Bu, Tuple'ın imzasının, bu yöntem için hangi verilere ihtiyaç duyacağımı ve hangi değerleri geri getireceğini nasıl geri getireceğini bulurken, metinde yarım saat içinde epeyce değişebileceği anlamına gelir.
Kodu yeniden düzenleme şansım olursa, genellikle bir Tuple'ın içindeki yerini sorgularım.