Dönüş Değerleri; Artık Gözüm Üzerinizde

   Yazılımcı; bilgisayar karşısındaki en büyük savaşını her zaman hata ayıklarken verir. Bunu unutmayın! Bu savaşın en can alıcı anı ise uzun bir debug oturumunun sonunda bir fonksiyonun dönüş değerini bir değişkene atamadan döndüğünü farkettiği andır.. Öyle ki; bu dönüş değerinin doğru hesaplanıp hesaplanmadığını anlayabilmek için uygulamayı sonlandırıp değişken atamasını yapıp tüm süreci baştan yaşamak zorunda kalır.

   Şimdi bu noktada, eminim ki bazılarınız hocam Edit & Continue sayesinde bu işlemi yeni bir debug oturumuna gerek kalmadan yapabiliriz diyecektir. Bu durumda, Edit & Continue’nin tüm senaryolar için desteklenmediğini hatırlatmak isterim 😉 En basitinden; Lambda ifadelerle ilgili bir değişiklik yapmayı deneyin.. Daha da kötüsü, debug sırasında fonksiyondan çıktıktan sonra dönüş değerini öğrenemek isteyin…

   Herkes gibi ben de benzer problemleri yaşamış olmanın verdiği deneyimle fonksiyon dönüş değerini her zaman bir değişkene atayıp bunu dönmeyi alışkanlık edindim.

    Bu kadar ön bilginin ardından sizlere Visual Studio 2013 ile birlikte gelen ve bizleri yukarıdaki sıkıntılardan kurtaran yeni bir özellikten bahsedeceğim; dönüş değerlerinin otomatik kaydedilmesi.

   Özelliğin ne olduğunu anlatmaksa nasıl çalıştığını anlatmak daha kısa süreceğinden doğrudan örnekleyim… Aşağıdaki örnek uygulamayı ele alalım;

using System;

namespace DonusDegeriTest {
    class Program {
        static void Main(string[] args) {
            var artik = new OrnekSinif1();

            Console.WriteLine(artik.Rahatca().TakipEdiyorum());
        }
    }

    public class OrnekSinif1 {
        public OrnekSinif2 Rahatca() {
            return new OrnekSinif2();
        }
    }

    public class OrnekSinif2 {
        public string TakipEdiyorum() {
            return "Artık dönüş değerini rahatça takip edebiliyorum";
        }
    }
}

 

   Bu örnek için Visual Studio 2013’te 8. satıra bir break point koyup uygulamayı debug oturumunda başlatın.

Visual Studio 2013 hata ayıklama oturumu

   F10 ile bir soraki satıra geçiş yaptığımızda ekranımız şu şekilde olacaktır;

F10 ile bir sonraki satıra geçiş yapıyoruz

   Bu noktada durup alt bölümdeki Locals penceresine baktığımızda mevcuttaki değişkenlerin değerlerine ulabildiğimizi görebiliyoruz; fakat dönüş değerleri yok.

   Dönüş değerlerini görebilmemiz için Autos penceresine geçememiz yeterli olacaktır;

Autos penceresinde çağrılan fonksiyonların geri dönüş değerlerini görebiliriz

Autos penceresi, yakından

   Autos penceresinde yer alan aşağıdaki iki girdiye dikkatinizi çekerim;

DonusDegeriTest.OrnekSinif1.Rahatca returned

DonusDegeriTest.OrnekSinif2.TakipEdiyorum returned

 

   Bu değerler sırasıyla OrnekSinif1 içerisindeki Rahatca ve OrnekSinif2 içerisindeki Takip Ediyorum fonksiyonlarının dönüş değerlerini vermekte.

   Bir fonksiyonun dönüş değerini almanın bir başka yolu ise Immediate Window içerisinde $ReturnValue yazıp enter tuşuna basmaktır;

Immediate Window, yakından

    Dikkat ederseniz $ReturnValue sadece son dönüş değerini vermekte.

Visual Studio 2013, Hata ayıklama ekranı

   Visual Studio 2013 ile birlikte gelen bu özellikler sayesinde artık geri dönüş değerini saklama pratiğine ihtiyacınız kalmayacak 🙂

Fatih Boy

Ankara'da yaşayan Fatih, bir kamu kurumunda danışman olarak çalışmaktadır. ALM süreçleri, kurumsal veri yolu sistemleri, kurumsal altyapı ve yazılım geliştirme konularında destek vermektedir. Boş zamanlarında açık kaynak kodlu projeler geliştirmeyi ve bilgisini yazdığı makalelerle paylaşmayı seven Fatih, aynı zamanda Visual C# ve Visual Studio teknolojileri konusundan Microsoft tarafından altı yıl üst üste MVP (En Değerli Profesyonel) ödülüne layık görülmüştür. İş hayatı boyunca masaüstü uygulamaları, web teknolojileri, akıllı istemciler gibi konularda Asp.Net, Php, C#, Java programlama dilleri ve MySql, MsSql ve Oracle gibi veritabanı yönetim yazılımları ile çalışmıştır. İngilizce ve Türkçe olarak yayınlanan makalelerini gerek İngilizce bloğunda, gerekse de Türkçe bloğunda bulabileceğiniz gibi web sitesinden de açık kaynak kodlu geliştirdiği yazılımlarına ulaşabilirsiniz. vCard - Twitter - Facebook - Google+

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir