Burak Selim Senyurt
Matematik Mühendisi bir .NET Severin Yazıları...

Tek Fotoluk İpucu-18 (5 Parametreden Fazlası için Struct)

Çarşamba, 13 Temmuz 2011 12:48 by bsenyurt

Merhaba Arkadaşlar,

Çok sevgili Juval Löwy der ki : "Bir metod 5den fazla parametre alıyorsa, verileri Struct tipini kullanarak aktarın". Meşhur kod standartlarından birisi olan bu kurala kaçımız ne kadar uyuyoruz acaba? Oysaki kullanımı çok basit. İşte basit bir örnek Winking smile

PhotoTrick18

StructForParameters.rar (22,91 kb)

Yorumlar

Temmuz 29. 2011 19:31

Erkan

Löwy ağabey bence bunu kodun daha okunabilir olması için demiş.
Ancak methodun parametrelerinde "new" kullanarak struct yaratırsan çok okunabilir olmuyor bence. Tersine daha karışık oluyor. Yukarıdakinin yerine şu şekilde çağırmak çok daha güzel, daha temiz.

Layer layer = new Layer(X=1,Y=0,Z=90);
layer.Players = new List<Player>();
CreateLayer(layer);

Erkan

Temmuz 30. 2011 05:54

C.Avci

Bunun temel sebebi guzel, derli toplu gozuksun diye mi, yoksa performans bakimindan bir katkisi varmi?

Tesekkurler

C.Avci

Ağustos 10. 2011 21:56

Erkan

Sadece derli toplu gözüksün, daha sonra bakıldığında kolay anlaşılsın diye.
Ancak Burak Hoca'nın verdiği örnekteki gibi parametrelerde iç içe girmiş 2-3 new ile kullanınca pek derli toplu gözükmüyor.

Örnekte new in parametresi 6 tane olmuş.

Erkan

Erkan

Eylül 7. 2011 02:51

Serkan KARAKUŞ

Struct RAM in hangi bloğunu kullanır (class dan farkı)??? parametre olarak verilen değişkenler ValueType ise bence kullanmak okunurluğu kolaylaştırır. Ancak ReferenceType olan parametreler için performans sorunları yaratır (büyük ölçekli projelerde). Metodları aşırı yükleyerek daha efektif çözümler üretilebilir, bence çok sayıda parametre içeren metodlar yazılmaktan kaçınılmalı. Bu noktada design patterns 'lere çok iş düşmekte.

Serkan KARAKUŞ

Yorumlar kapalı.