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ı anlayamayacaklar.
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 bir bak.
Şimdi 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 bunu iki kez çalıştırmak gibi bir sayaca sahip olmak ya da bu işlemi defalarca tekrarlayabileceğimizden
emin olmak için daha sonra öğreneceğimiz fonksiyonlar gibi bir şey kullanmak 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.