Merhaba arkadaslar. python dilini yeni ogreniyorum. kücük bir seyler yazarak, kendimi geliştirmeye çalışıyorum. acaba aşağidaki yazdıgım kodlarda her hangi bir problem var mı? yoksa daha baska bir pratik yolu var mı?
Hiçbir sıkıntı görmüyorum. Belki kodu birkaç satır daha azaltmak adına gereksiz bazı değişkenleri çıkarabilirsin. Mesela toplam değişkenini eklemek yerine
yapabilirsin. Bana daha mantıklı geliyor (çünkü değişkenler ram de yer kaplar boşuna yer kaplamasına gerek yok) o yüzden önerdim ama kodda hata olduğu anlamına gelmiyor.
Ayrıca kodlarını paylaşırken </> tuşuna basıp ``` işaretlerinin arasına kodunu yapıştırırsan daha iyi olur.
Python’a 3.6 sürümü ile gelen f-string’lere göz atmak isteyebilirsiniz. String’leri formatlarken .format metodundan daha okunabilir olabilirler. Örneğin:
print("\nToplam:{} TL".format(toplam))
yerine
print(f"Toplam: {toplam} TL")
(print’e gönderdiğimiz string’in başındaki f harfi sayesinde.) Ne dersiniz?
Değişkenler olmadan kodu daha az okunabilir yapmış oldunuz (100’ün anlamını kestirmek güçleşti, yani magic number’a dönüştü…). Bir de kendimizi tekrar ediyoruz: gofret + sakiz + bisküvi iki kez değerlendiriliyor; DRY’a aykırıdır.
Yukarıdaki nedenlerin yanında bir de premature optimization’ın pek iyi bir şey olmaması var… Diye düşünüyorum.
Premature optimization’in manasi program yavas/kotu calismadan optimizasyon yapmak. Dogru bir karar oldugu durumlar cikiyor elbet, fakat yanlis bir karar oldugu cogunlukta en iyi ihtimalle vakit kaybettiriyor. Amaclanan etkinin tersine yol actigini da cok gordum.
Yol parasindan tasarruf etmek icin palto giymemek gibi bir sey. Daha arabayla gidecegimizden bile emin degiliz. Ayrica isitici da benzin yakiyor.