‫Oluyor işte.
‫Bir sonraki geliştiricimizin temelleri ve iyi kod budur.
‫Yani, bu kadar belirsiz görünen iyi nedir, değil mi?
‫Birinin ben iyi bir yazılımcıyım, ben mükemmel bir programcıyım, o kıdemli bir programcı, o uzman
‫bir programcı demesi gibi.
‫O bir teknik lider.
‫O bir dahi.
‫Bu gerçekten ne anlama geliyor?
‫Bunu şu basit ifadelere indirgeyebilirsiniz.
‫Temiz, iyi kod nedir?
‫Onu ele verdim sayılır.
‫Birincisi temiz.
‫Yani, kodumuzun, diyelim ki Python topluluğunun onayladığı bir stili takip ettiğinden emin olmak istiyoruz.
‫En iyi uygulamaları takip ediyor muyuz?
‫Ve Python'un bu harika format özelliği vardır ve Python kodumuzun temiz olduğundan emin olmak için boşlukları kullanmanın standart yollarına
‫sahiptir.
‫Bunun gibi gereksiz çirkin boşluklar kullanmıyorum ya da listeleri gerçekten tuhaf ve korkak yapmıyorum.
‫Belki arada boşluk yoktur.
‫Olabilir.
‫Burada bir sürü rastgele yorumum var.
‫Kodumuzu temiz tutuyoruz.
‫Sahip olduğumuz her satırın kolayca okunabilir olduğundan emin oluyoruz, ancak aynı zamanda orada ihtiyacımız olmayan fazladan bir şey
‫bulundurmuyoruz.
‫Bu aynı zamanda okunabilirlik fikriyle de ilgilidir.
‫Şimdi, okunabilirlik, kendi kodunuzu okumak isteme yeteneği anlamına gelir.
‫Belki iki yıl sonra geri dönüp koda bakacaksınız.
‫Bunu anlayabilecek misin?
‫Ekipler halinde veya şirketler ve diğer iş arkadaşları için çalışıyorsanız, gelin ve kodunuza bakın.
‫Anlaşılması kolay mı?
‫Bu tabii ki kişisel bir tercihtir, ancak çoğu zaman fikirler basittir.
‫Örneğin, burada mantıklı isimler kullanıyorum.
‫Eğer mantıklı olmayan değişken isimlerim varsa, birinin kodumu okuması gerçekten zor olacaktır.
‫Belki insanlar neden burada bu baskı ifadesini kullandığımı merak edeceklerdir.
‫Bu durumda, belki de burada her satırdan sonra yeni bir satıra ihtiyaç olduğu gibi bir yorum yapmalıyım.
‫Ya da belki buna neden ihtiyaç duyduğumuza da şaşıracaklardır.
‫Evet.
‫Tarzınıza bağlı olarak yorum eklemek isteyebilirsiniz.
‫Değişkenlerinizin iyi adlandırıldığından emin olun ve belki de kodu anlayanın sadece siz olmadığınızdan
‫emin olun.
‫Diğeri ise öngörülebilirlik fikridir.
‫Ve bu da benim favorim.
‫Yani, bazen insanlar kodlarıyla gerçekten zeki olmaya çalışırlar, en kompakt koda sahip olmaya
‫çalışırlar veya en yeni özellikleri ya da gerçekten belirsiz bazı araçları veya çok yaygın olmayan işlevleri sırf
‫akıllı görünmek için kullanırlar.
‫Ancak mantıklı ve tek bir şeyi gerçekten iyi yapan bir koda sahip olmak istersiniz.
‫Şimdi bu kod oldukça küçük, bu yüzden oldukça tahmin edilebilir, bilirsiniz, sadece bir geçişi var ve ne
‫olacağını tahmin etmek kolay.
‫Yazdıracağız, ancak kursa daha fazla girdikçe, kodumuzun gittikçe büyüyeceğini
‫göreceksiniz.
‫Ve öngörülebilir, anlaşılması kolay bir koda sahip olmak gerçekten önemlidir.
‫Ve son olarak, her yerde duyduğunuz önemli bir ilke de kendinizi tekrar etmemenizdir.
‫Kendinizi sürekli tekrarladığınız bir koda sahip olmak istemezsiniz.
‫Bu küçük bir örnek, ancak bir programcı olarak şunu söylemek çok kolay: Oh, bunu kopyalayacağım ve sonra bunu tekrar
‫çalıştıracağım, böylece Çalıştır'a tıklarsam.
‫Şuna bak.
‫Artık iki ağacım var.
‫Bu inanılmaz.
‫Ama belki de bu iyi bir fikir değildir.
‫Artık 28 satır kodunuz var ve insanlar bunu neden iki kez yaptığımız konusunda kafaları karışabilir.
‫Belki de bunun yerine, programatik olarak burada belki bunu iki kez çalıştırma şeklinde bir sayaç bulundurmak ya da daha sonra öğreneceğimiz
‫fonksiyonlar gibi bir şey kullanarak bu işlemi tekrar tekrar yapabileceğimizden emin olmak
‫istiyoruz.
‫Şimdi bunları aklınızın bir köşesinde tutun çünkü kurs boyunca bu konuları inceleyeceğiz.
‫Ama diyelim ki bu koda yeni geldim ve biraz temizlemenizi istiyorum.
‫Yine, bu sadece kişisel bir tercih, ancak bunlar benim yapacağım şeylerden bazıları.
‫Bir burada bire eşit pikseldir.
‫Bunun yerine, bu biraz kafa karıştırıcı.
‫Burada bir piksel varsa ve piksellerin ya sıfır ya da bir olduğunu biliyorsam, o zaman buraya yazdırın diyeceğim
‫çünkü bu sadece true olarak değerlendirilecek gerçek bir değerdir.
‫Böylece kodum biraz daha temizlenmiş oldu.
‫Sonra, yapabileceğim başka bir şey, belki bunu daha genişletilebilir hale getirmek
‫istiyorum, bu da diyelim ki yıldıza eşit olan fill değişkeni ve sonra belki boş bir dizeye eşit olan empty gibi bir şey yapmak
‫ve bunları fill olarak değiştirmek anlamına gelebilir.
‫Ve boş.
‫Şimdi, bu fazladan bir kod satırı.
‫Ancak örneğin, bunu belki de birden fazla kez yapıyorsak, belki de print'i tekrar tekrar çalıştırıyoruzdur
‫veya belki de burada başka bir print satırımız vardır.
‫Ve şurada bir başka baskı satırı ve sonra belki şurada boş olan bir başka baskı satırı.
‫Burada beş yeri değiştirmek zorunda kalmak yerine, artık sadece bu kısmı değiştirebilirim.
‫Ve belki de Yıldız yerine, ne bileyim, dolar işareti göstermek istiyorum.
‫Ve eğer bunu çalıştırırsam.
‫Tamam.
‫Burada biraz farklı bir görüntü alıyorum.
‫Ancak yine de değişkeni değiştirebildim ve değişken ihtiyacım olan her şeyi doldurmak için kullanıldı.
‫Şimdi, bunların hepsi alışmak için biraz deneyim gerektiren şeyler, ancak umarım bunu
‫kurs boyunca inceleyeceğiz ve sonunda tüm bu en iyi uygulamaları aklınızda tutacaksınız.
‫Bir sonrakinde görüşürüz.
‫Güle güle.