‫Tekrar hoş geldiniz.
‫Hadi eğlenceli bir egzersiz yapalım.
‫Bir oyun şirketi tarafından işe alındık ve bir büyücü oyunu yaratıyoruz.
‫Ve bu sihirbaz oyununda kullanıcının profilinde sihirbaz var ve şimdilik bunu yanlış olarak ayarlayacağız.
‫Bizde de var.
‫Uzman.
‫Ve bu kullanıcının bu oyunda uzman olup olmadığı.
‫Şimdilik doğru olarak bırakacağız.
‫Ve sonra.
‫Hmm.
‫Hadi.
‫Bunu burada yapalım.
‫Her ikisinin de olup olmadığını kontrol etmenizi istiyorum.
‫Sihirbaz.
‫Ve uzman.
‫Ve eğer durum buysa, eğer doğruysa, o zaman basmanızı istiyorum.
‫Sen usta bir sihirbazsın.
‫Ve ayrıca, kontrol etmeni istiyorum.
‫Eğer.
‫Sihirbaz.
‫Ama uzman değil.
‫Eğer durum buysa, sadece yazdırmak istiyorum.
‫En azından oraya gidiyorsun.
‫Ve son olarak, sihirbaz olup olmadığınızı kontrol edelim.
‫Söylemek istiyorum.
‫Sihirli güçlere ihtiyacın var.
‫Şimdi bu koşullu mantığı oluşturmak için mantıksal operatörler hakkında öğrendiklerinizi kullanmanızı istiyorum.
‫İsterseniz videoyu duraklatabilir ve bir dalgalanmada kendiniz deneyebilirsiniz.
‫Aksi takdirde, bir cevapla devam edeceğim.
‫Ancak şu ana kadar videoları ve alıştırmaları takip ettiyseniz bunu oldukça kolay bir şekilde çözebilmeniz
‫gerekir.
‫Öyleyse usta bir sihirbaz olduğunuzu söylediğimiz ilkiyle başlayalım.
‫O yüzden "eğer" diyeceğim.
‫Uzman ve sihirbaz.
‫Yazdıracağım.
‫Siz usta bir sihirbazsınız, bu yüzden bunu kopyalayacağım ve baskı diyeceğim.
‫Sen usta bir sihirbazsın.
‫Burada çok çılgın bir şey yok.
‫Ve sonra bir sonrakini söyleyeceğim.
‫Eğer ya da istersem eğer bile diyebilirim.
‫Ve yine bu, neyi tercih ettiğinize karar verebileceğiniz bir şeydir.
‫Genellikle bu durumda ilkiyle aynı konseptin parçasıysa l'i kullanmayı severim.
‫Evet, hala ne tür bir kullanıcı olduğunu anlamaya çalışıyoruz.
‫Bu yüzden canlı kullanacağız ve bir sihirbaz olup olmadığını kontrol etmek istiyorsak L diyeceğiz.
‫Yani bu bir sihirbaz.
‫Bu yüzden bunun doğru olup olmadığını kontrol edeceğiz.
‫Ama aynı zamanda kontrol etmek de istiyoruz.
‫Eğer uzman değilsen.
‫Şimdi, bunu nasıl yapacağız?
‫Yani, kısa devreyi kullanıp uzman olduğunu söyleyebiliriz.
‫Ve bu yanlış olsa bile.
‫Burada doğruyu bulabiliriz çünkü sihirbaz olarak kısa devre yapıp bu kısmı yazdırırsanız, en azından oraya ulaşırsınız.
‫Çünkü buradaki ilginç nokta, bu kod bloğunun her ikisi de doğruysa asla çalışmayacak olmasıdır
‫çünkü ilk if bloğunda bunu kontrol ediyoruz, böylece bu doğru olduğu anda LF'yi tamamen yok sayacağız.
‫Yani bunu yapabiliriz.
‫Ancak bunu okumak biraz zor çünkü gerçekten düşünmem gerekiyor.
‫Koda geri dönersem ya da başka biri koduma bakarsa, sihirbaz olup olmadığını kontrol ettiğimi ancak uzman olup olmadığını
‫kontrol etmediğimi yorumlamadığım sürece net değil.
‫Çünkü bu asla çalışmayacak.
‫Eğer sihirbaz sahteyse, o zaman kontrol ettikleri şey budur.
‫Bunu söylemenin bile biraz kafa karıştırıcı olduğunu biliyorum.
‫Bu yüzden böyle bir şey kullanmayı tercih ediyorum.
‫Kullanmak ve kullanmamak.
‫Ve bu çok daha iyi okunuyor, değil mi?
‫Bu çok daha mantıklı.
‫Hey, eğer bu kişi bir uzman ve sihirbazsa, bunu yapın.
‫Aksi takdirde, bu kişi bir sihirbazsa ve uzman değilse, bunu yazdırın.
‫Çok güzel okunuyor.
‫Ve evet, bunu yapabilirsiniz çünkü unutmayın, zorbalık ifadesi ne olursa olsun basitçe kontrol etmek ve tersine çevirmek
‫olarak değil.
‫Yani bu hala bir boolean olarak değerlendirilir ve kontrol edilebilir.
‫Tamam.
‫Sonuncuyu bitirelim.
‫Eğer bir sihirbaz değilseniz, sihirli güçlere ihtiyacınız vardır.
‫Peki burayı nasıl kontrol edeceğiz?
‫Bir L daha yapabiliriz ve değil diyebiliriz.
‫Sihirbaz.
‫Ve eğer bu şekilde çalıştırır ve yazdır dersem ve sadece buraya kopyalarsak, sihirli güçlere ihtiyacınız olur.
‫Kod bloklarını görebilmek için şimdilik yorumları kaldıralım.
‫Ve programımızı test edeceğiz.
‫Umarım düzgün kodlamışızdır.
‫Umarım hata yoktur.
‫Ama bir bakalım.
‫Eğer bunu çalıştırırsam.
‫Sihirli güçlere ihtiyacın var.
‫Nedenmiş o?
‫Pekala.
‫Eğer sihirbaz sahteyse, bunların hiçbiri işe yaramayacaktır.
‫Bunu true olarak değiştirirsem ve çalıştır'a tıklarsam ne olur?
‫Tamam.
‫Ben usta bir sihirbazım çünkü bir sihirbaz olduğum kadar bir uzmanım da.
‫Bunu yanlışa çevirirsem ve Çalıştır'a tıklarsam ne olur?
‫Hey, en azından oraya gidiyorsun.
‫Ben bir sihirbazım, ama henüz bir uzman değilim.
‫Hâlâ öyleyim.
‫Hala oyunumu geliştirmem gerekiyor.
‫Şimdi, benden farklı bir yanıt almış olabilirsiniz ve bunu doğru yapmanın birçok yolu var.
‫Bir L ifadesi kullanabilirdin.
‫Kullanabilirdiniz veya koşullu mantık, yalnızca sizin için değil, kodunuzu okuyan diğer insanlar için de anlamlı
‫olan kod yazmakla ilgilidir.
‫Buradaki fikir, aşırı derecede zeki olmak ya da kısa devre konusunda gerçekten endişelenmek değildir.
‫Evet, daha performanslı olabilir, ancak bir makine o kadar güçlüdür ki, belki de okunabilirliği
‫kaybettiğinizde orada küçük bir optimizasyon genellikle buna değmez.
‫Bu yüzden kodunuzun İngilizce gibi okunduğundan emin olmak istersiniz.
‫Ve bu, açıkçası, birçok yeni başlayan programcının anlamakta zorlandığı, mümkün olduğunca akıllı olmaya çalıştıkları,
‫mümkün olan en kısa satırlarda mümkün olduğunca az kod yazdıkları, bunun yerine okunabilirliğe
‫odaklanmanız gereken bir konudur.
‫Çünkü anlaşılması kolay bir kod, iyi bir geliştiricinin işaretidir.
‫Umarım buna baktığınızda, evet, bu oldukça kolay diye düşünüyorsunuzdur.
‫Yani, bunların hepsi mantıklı ama tek yol bu değil.
‫Belki de benim iyi okuma anlayışım sizinkinden farklıdır.
‫Buradaki fikir, her birimizin kodumuzu basit ve güzel hale getirmek için elimizden gelenin en iyisini yapmasıdır ve programlamada
‫tek bir doğru cevap yoktur.
‫Bir sorunu çözmenin pek çok yolu vardır, ancak önemli olan sorunu basit ve okunabilir bir şekilde çözmektir.
‫Umarım eğlenirsiniz ve bir sonrakinde görüşürüz.