lostyazilim
tr.link

C# Tuple denen şey ne işe yarıyor?

10 Mesajlar 2.012 Okunma
acebozum
tr.link

emirbugra emirbugra Entrepreneur Kullanıcı
  • Üyelik 14.01.2014
  • Yaş/Cinsiyet 35 / E
  • Meslek Web ve Mobil Geliştirme
  • Konum İzmir
  • Ad Soyad E** K**
  • Mesajlar 210
  • Beğeniler 39 / 38
  • Ticaret 3, (%100)
Arkadaşlar ben Java, PHP ve Python konularında uzmanım. Bu aralar C#'a merak sardım. Aslında üniversitede C# görmüştük ama o zamanlar çok basit seviyede gördük tabi. Ayrıca şuan var olan birçok özellik o zamanlar yoktu. Örneğin Tuple dalgası o zamanlar yoktu. Bu Tuple denen dalga ne işe yarıyor? Diğer dillerde böyle birşeye rast gelmedim. microsoft denen kapitalist şirketin yazılımcıları kendine bağlama yöntemlerinen birisi mi? Hangi problemi çözüyor bilen varsa ufak bir örnekle açıklarsa çok müteşekkir olacağım. Şimdiden saolun.
 

 

elektronikssl
webimgo

Weismann21 Weismann21 WM Aracı Kullanıcı
  • Üyelik 29.11.2017
  • Yaş/Cinsiyet 27 / E
  • Meslek Cross Platform Developer
  • Konum İstanbul Anadolu
  • Ad Soyad E** B**
  • Mesajlar 168
  • Beğeniler 12 / 47
  • Ticaret 0, (%0)
Burada birisi güzel anlatmış
 

 

emirbugra emirbugra Entrepreneur Kullanıcı
  • Üyelik 14.01.2014
  • Yaş/Cinsiyet 35 / E
  • Meslek Web ve Mobil Geliştirme
  • Konum İzmir
  • Ad Soyad E** K**
  • Mesajlar 210
  • Beğeniler 39 / 38
  • Ticaret 3, (%100)
Orda yine sadece tuple'ın nasıl kullanıldığını anlatmış. Hangi problemi çözdüğünü anlatmamış. Yani hangi ihtiyaçtan dolayı doğmuş? Neden Java, PHP ve Python gibi dillerde böyle birşey yok?
 

 

Simurg Simurg Yazılım Mühendisi Kullanıcı
  • Üyelik 06.09.2013
  • Yaş/Cinsiyet 28 / E
  • Meslek Yazılım Mühendisi
  • Konum İzmir
  • Ad Soyad M** C**
  • Mesajlar 1109
  • Beğeniler 169 / 168
  • Ticaret 19, (%100)
Sen php Java Python da uzman olduğuna emin misin
Tuple, php Java ve Python da da var
 

 

wmaraci
wmaraci

emirbugra emirbugra Entrepreneur Kullanıcı
  • Üyelik 14.01.2014
  • Yaş/Cinsiyet 35 / E
  • Meslek Web ve Mobil Geliştirme
  • Konum İzmir
  • Ad Soyad E** K**
  • Mesajlar 210
  • Beğeniler 39 / 38
  • Ticaret 3, (%100)

Simurg adlı üyeden alıntı

Sen php Java Python da uzman olduğuna emin misin
Tuple, php Java ve Python da da var


phpde nerde tuple var kardeş? bu arada pythondaki tuple ile c#taki tuple aynı değil o konuda bi mutabık kalalım da. isim benzerliğinden dolayı aynı şey deme sonra.

edit: php'de tuple var mı? https://stackoverflow.com/questions/22083760/are-there-tuples-in-php

çok bilmiş havalarla olmuyor bu işler kardeş.
 

 

Decimas Decimas WM Aracı Kullanıcı
  • Üyelik 19.04.2015
  • Yaş/Cinsiyet 26 / E
  • Meslek Developer
  • Konum İstanbul Avrupa
  • Ad Soyad E** E**
  • Mesajlar 820
  • Beğeniler 1 / 302
  • Ticaret 1, (%100)
PHP type strong olmadığı için burada Tuple genelde array'ler oluyor. İstenirse list ve extract gibi metodlarla Tuple olayını yapmak mümkün.

C#'da birden fazla değeri array ile dönmek yerine model oluşturacaksan bir dosya oluşturup (opsiyonel) modeli yazman lazım. Ortalama 5-15 sn kadar zaman harcamamak için olayı Tuple diye bir şey yapıp kılıfına uydurulmuş. Klasik array mantığını Tuple ile modele yakınlaştırmaya çalışmışlar. Kimi dilde reserved class ile sağlanırken kiminde global metodlarla sağlanıyor. Günün sonunda aynı işi yapıyor. Burada Microsoft'un özel bir çabası yok yani.
 

 

no time for caution

emirbugra emirbugra Entrepreneur Kullanıcı
  • Üyelik 14.01.2014
  • Yaş/Cinsiyet 35 / E
  • Meslek Web ve Mobil Geliştirme
  • Konum İzmir
  • Ad Soyad E** K**
  • Mesajlar 210
  • Beğeniler 39 / 38
  • Ticaret 3, (%100)

Decimas adlı üyeden alıntı

PHP type strong olmadığı için burada Tuple genelde array'ler oluyor. İstenirse list ve extract gibi metodlarla Tuple olayını yapmak mümkün.

C#'da birden fazla değeri array ile dönmek yerine model oluşturacaksan bir dosya oluşturup (opsiyonel) modeli yazman lazım. Ortalama 5-15 sn kadar zaman harcamamak için olayı Tuple diye bir şey yapıp kılıfına uydurulmuş. Klasik array mantığını Tuple ile modele yakınlaştırmaya çalışmışlar. Kimi dilde reserved class ile sağlanırken kiminde global metodlarla sağlanıyor. Günün sonunda aynı işi yapıyor. Burada Microsoft'un özel bir çabası yok yani.


Mantıklı şekilde açıkladığın için teşekkür ederim. Ben kendimi bildim bileli herşeyin en temel mantığını anlamaya çalışırım. Herşeyi olduğu gibi kabul eden birisi değilim. Mantığını anlamadığım şeyi beynim almaz ve kullanmaz. Bu yüzden böyle bir soru sordum. Şimdi senin açıklamana bakarsak bu durumda şöyle bir soru akla geliyor. Tuple denen yöntem test yazarken sorun çıkarmaz mı? Örneğin test yazarken klasik yöntemlerde dönen değerin bir class olup olmadığını test etmek yeterli. Fakat tuple yönteminde dönen değerin bir tuple olduğunu ve şu şu propertylerinin set edilip edilmediğini ayrı ayrı test etmek gerekiyor. Bu daha çok vakit almaz mı? Yani test yazarken tuple işleri zorlaştırmaz mı?

Belki de bu soruların cevaplarını bir algoritmayı hem C#'ta tuple ile ve Java'da class ile yaparak bulabilirim ama şuan onun için vaktim yok. Bu konuyu daha önceden tecrübe etmiş olan birisi varsa cevaplarsa herkes istifade edecektir. Cevaplayan olmazsa artık müsait bir zamanımda bununla ilgili bir makale falan yazarım inşallah.
 

 

Decimas Decimas WM Aracı Kullanıcı
  • Üyelik 19.04.2015
  • Yaş/Cinsiyet 26 / E
  • Meslek Developer
  • Konum İstanbul Avrupa
  • Ad Soyad E** E**
  • Mesajlar 820
  • Beğeniler 1 / 302
  • Ticaret 1, (%100)
Test için bir class oluşturup oradan yine metod şeklinde Tuple çağrılabilir veya direkt testin içine elle yazılabilir. Class zaten Tuple olarak dönüyor, geriye sadece dönen veriler kalıyor. Zorunda kalmadığım sürece test yazmadığım için (welcome to turkey) alternatif senaryolar hakkında çok derin tecrübelerim yok ama test yazma deneyimini değiştirmiyor. En azından C# için böyle.

Tuple olayını basıp geçeceğim projelerde oluyor (iş hızlı çıksın diye), model üzerinden gideceğim projelerde (özenerek yaptığım işler) oluyor. Projenin geleceği varsa modeller üzerinden gitmeyi tercih ediyorum. Sonra proje yine önüme gelirse oturup Tuple to model yapmayayım diyorum ya da sonraki yazılımcıya ekstra yük çıkmasın istiyorum.
emirbugra

kişi bu mesajı beğendi.

no time for caution

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
"Arkadaşlar ben Java, PHP ve Python konularında uzmanım" :) çok iddialı olmuş.

Senior Java Developer arıyoruz. CV'ni paylaşır mısın, yüksel ölçekli, dağıtık ortamlarda java + spring boot + tercihen hazelcast, mongodb, cassandra gibi dağıtık in memory/nosql deneyimli arkadaşlar arıyoruz.

Konuya gelince, Tuple, birbiri ile alakalı olan verileri gruplamak için kullanılır. Güzel kısmı özel sınıf oluşturmak zorunda kalmazsınız ve tuple nesnesindeki her bir veri tipleri ayrı ayrı olabilir. Immutable olması, comparable interface implement etmesi ile bazı karşılaştırma, eşleştirme fonksiyonlarını rahatça kullanmanıza olanak sağlar.

Bireysel olarak sevmediğim kısmı sıralı şekilde ilerlemesi, tuple üzerinden veri alırken array'deki gibi sıralı olarak index üzerinden çekmesidir yada set etmesidir + kod okunabilirliği anlamında pek iyi değildir. Genellikle kütüphane yazacağım zaman kullanırım. Soyut değerleri gruplamak için iyidir.
 

 

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

emirbugra emirbugra Entrepreneur Kullanıcı
  • Üyelik 14.01.2014
  • Yaş/Cinsiyet 35 / E
  • Meslek Web ve Mobil Geliştirme
  • Konum İzmir
  • Ad Soyad E** K**
  • Mesajlar 210
  • Beğeniler 39 / 38
  • Ticaret 3, (%100)

YazılımMimarı adlı üyeden alıntı

"Arkadaşlar ben Java, PHP ve Python konularında uzmanım" :) çok iddialı olmuş.

Senior Java Developer arıyoruz. CV'ni paylaşır mısın, yüksel ölçekli, dağıtık ortamlarda java + spring boot + tercihen hazelcast, mongodb, cassandra gibi dağıtık in memory/nosql deneyimli arkadaşlar arıyoruz.

Konuya gelince, Tuple, birbiri ile alakalı olan verileri gruplamak için kullanılır. Güzel kısmı özel sınıf oluşturmak zorunda kalmazsınız ve tuple nesnesindeki her bir veri tipleri ayrı ayrı olabilir. Immutable olması, comparable interface implement etmesi ile bazı karşılaştırma, eşleştirme fonksiyonlarını rahatça kullanmanıza olanak sağlar.

Bireysel olarak sevmediğim kısmı sıralı şekilde ilerlemesi, tuple üzerinden veri alırken array'deki gibi sıralı olarak index üzerinden çekmesidir yada set etmesidir + kod okunabilirliği anlamında pek iyi değildir. Genellikle kütüphane yazacağım zaman kullanırım. Soyut değerleri gruplamak için iyidir.


Siz yanlış anladınız ben şuan rfid cihazları üreten bir fabrikada yazılım geliştirici olarak çalışıyorum zaten. Ayrıca CV göndersem bile istediğim maaşı verebileceğini de pek sanmıyorum.

Sonuç olarak tuple mevzusunun nereden çıktığını anladım aynı zamanda çok gerekli birşey olmadığına kanaat getirdim. @Decimas isimli arkadaşın da dediği gibi önemsiz projelerde tuple çak geç, önemli projelerde düzgünce modelini controllerını viewini oluştur testini yaz profesyonelce takıl işte.
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al