Unity3D- Visual Studio Code Kullanmak

 

Unity3d yıllar içerisinde çok büyük gelişmeler gösterdi ve bulunduğumuz yıl itibari ile Unity3d 2018 duyuruldu.Unity3d aslında uzun bir süre Monodevelop IDE sini kullanmaya devam etti.Bir süre sonra Visual Studio desteği geldi ve Visual Studio ile çok daha rahat bir biçimde kodlarımızı yazıp düzenleyip debug etme şansı bulduk.Ancak Visual Studio nun çok büyük artıları olduğu gibi çok büyük eksileri de mevcuttu.

Sürekli projeyi yenilemek istemesi,ağır çalışması,uyumluluk gösterememesi,hard disk te kapladığı yer, gibi problemler doğdu benim birkaç ay önce keşfettiğim ve keyifle kullandığım IDE olan Visual Studio Code bu problemlerin tamamının üzerine ilaç gibi geliyor gerçekten.

 

 

Şimdi Visual Studio Code u bukadar övdükten sonra nasıl kullanacağımızı adım adım anlatmaya geldi sıra.

1-) Visual Studio Code’u indiriyoruz.(Tahmin edebileceğiniz gibi 🙂 )

https://code.visualstudio.com/

2-)Soldaki menünün en alt kısmındaki seçeneği seçip devam ediyoruz.Karşımıza alttaki gibi bir kısım çıkacak arama kısmına Unity yazıp debugger ını snippetları keyfimize göre indiriyoruz.(Bu arada c# indirmeyide unutmayın)

3-)Daha sonra Unity3d nin içinden Edit->Preferences kısmından Kod yazıcağımız programı Visual Studio Code olarak ayarlayalım ve kullanıma hazır!

                                                                             Keyifli Kodlamalar!

Java – Recursive(Özyinelemeli) Düşünmek

Kullandığımız her popüler programlama dilinde olduğu gibi Java programlama dilinde de  recursive(yinelemeli) yöntemler mevcuttur.Peki bu tip yöntemler nasıl çalışır? İşin arka planında neler oluyor?

Aslında tüm recursive yöntemler iki kısımdan oluşur “Base Case” ve “Recursive Case”.

Base Case : Döngülerde yaptığımız gibi bir durdurma koşulu veya kontrolü aslında altta örneğini verdiğimiz faktöriyel yönteminde sayının ikiden küçük olma durumu bir base casedir.Base Case döngünün zincirini kırar.

Recursive Case : Recursive satırlara deriz,yöntemin kendi kendini çağırmasıdır birden fazla kere bu işlem tekrar edilebilir.

 

Recursive kelimesinin anlamını ve bize neler çağrıştırması gerektirdiğinden bahsedelim.Programlama yaparken iterative(döngü yoluyla) yapabildiğimiz herşeyi recursive yollada yapabiliriz.Recursive örneklerinin başında gelen faktöriyel bulma yöntemimize göz atalım.

public static int factorial(int n) {
   if(n<2)
   {
      return 1;
   }
   else
   {
      return n * factorial(n-1);
   }
}

Bu yöntem ile istediğimiz sayının faktöriyelini bulabiliyoruz  ilk bakışta factorial(n-1) ifadesi hiçbişey ifade etmiyor. Şimdi factorial(3)’ü çağırdığımızda işin arkaplanın da neler oluyor beraber bakalım.

 

 

Biz main() fonksiyonumuzdan factorial(3) ü çağırdığımız zaman.Oluşan durum yukarda ki resimdeki gibidir.Adım adım anlatımı aşağıda.

İlk Adımlar

Adım 1-) n=3 [3 !< 2] -> return 3 * factorial(2) {factorial(2) yöntemi şimdilik ramde tutuluyor ve sırası geldiği zaman kendini tekrar çağıracak ve bizi sonuca ulaştıracak.}

Adım 2-) n=2 [2 !<2] -> return 2 * factorial(1) {factorial(1) yöntemi şimdilik ramde tutuluyor ve sırası geldiği zaman kendini tekrar çağıracak ve bizi sonuca ulaştıracak.}

Adım 3-) n=1 [1 < 2] -> return 1 {Evet bu kısımda "Base Case" e ulaştık ve zincir kırıldı artık elimizde bir sayı var buda 1 sayısı.Şimdi sıra ramde tuttuğumuz factorial(1),factorial(2),factorial(3) yöntemlerini geri çağırmaya geldi.}

Geri Çağırma Adımları

Adım 4-)factorial(2) -> return 2 * 1 -> { Bu kısımda factorial(1) in değerinin 1 olduğunu bulduğumuza göre artık factorial(1) yerine 1 yazabiliriz.Ayrıca bu yöntemin döndürdüğü değer olan 2'nin de factorial(2) nin sonucu olduğunu görmeliyiz.}

Adım 5-)factorial(3) -> return 3 * 2 -> { Son olarak factorial(2) nin değerini yerine yazıyoruz ve sonuç karşımızda! }