Parametrele Değer Atamasının Kaldırılması (Remove Assignments to Parameters)

Eki 16th, 2011 | Yazar: Özcan Acar | Kategori: Refactoring

Metot imzasında yer alan parametrelere metot bünyesinde değer atanmamalıdır. Bu gibi atamalar istenmeyen sonuçlar doğurabilir. Remove Assignments to Parameters refactoring metodu kullanılarak bu tür parametre değer atamaları geçici degişkenlere yapılmalıdır.


private void execute(int value) {
		if (value == 10)
			value = 1;
		doSometthink(value);
	}

Yukarda yer alan metot Remove Assignments to Parameters uygulandığı taktirde aşağıdaki yapıya sahip olacaktır. Metot bünyesinde result isminde yeni geçici bir değişken tanımlanmış ve böylece parametrenin taşıdığı değer metot gövdesinde korunmuştur.


private void execute(int value) {
		int result = 0;
		if (value == 10)
			result = 1;
		doSometthink(result);
	}

final kelimesi kullanılarak metot bünyesinde parametrelere değer atanması otomatik olarak engellenebilir.


private void execute(final int value) {
		if (value == 10)
			value = 1;
		doSometthink(value);
	}

Yukarda yer alan value=1 şeklindeki atama, value parametresi final olduğu için aşağıda yer alan hataya sebep olacaktır:

The final local variable value cannot be assigned. It must be blank and not using a compound assignment


EOF (End Of Fun)
Özcan Acar

Share Button

Özcan Acar

Bilgisayar mühendisi olan Özcan Acar 1997 yılından beri programcı olarak çalışıyor.

KurumsalJava.com, SmartHomeProgrammer.com ve Mikrodevre.com adresleri altında blog yazıyor. Kurduğu BTSoru.com'da ona yazılımla ile ilgili sorularınızı yöneltebilirsiniz. Pratik Programcı Yayınları bünyesinde Pratik Spring, Pratik Agile, Pratik Git ve Design Patterns ismini taşıyan kitapları bulunmaktadır. 21.12.2009 tarihinde Java Champion olarak seçildi.
  • Share/Bookmark
yorum yok. | 1.293 kez okundu |

1 Yıldız2 Yıldız3 Yıldız4 Yıldız5 Yıldız (Değerlendirme bulunmuyor)
Loading ... Loading ...
Tags: ,

BU YAZI İÇİN BİR YORUM YAPABİLİRSİNİZ.