Yorum Satırı ve Değişken İsmi Kullanımı Hakkında

Geçenlerde bir raporun bir kısmını okumuştum, ****özgür yazılımcılar için özetle şöyle diyordu: bu kişilerin kodlama bilgileri oldukça gelişmiştir fakat görsel arayüzlerle ve dökümantasyonla pek araları yoktur. Başlığı ya da yazarı hakkında hiçbir şey hatırlamadığım için kaynak gösteremiyorum, bilen varsa lütfen söylesin ekleyeyim.

Bu yazıda yorum satırları konusuna değinmek istiyorum. Koskoca program ya da ufacık örnek bir kod yazıyor olmamızın bir önemi olmadan. Bir kodu sadece kendimiz kullanıcaz, kimse zaten görmeyecek diye yazıyorsanız, istediğiniz ne varsa üzerinde uygulayın, bu yazı o kodu hedef almıyor baştan söyleyeyim.

Şimdi gelelim projelere, örnek kodlara ya da başka insanların göreceği şekilde yazılan herhangi bir koda. Açık kaynak fikrini benimsemiş olmak, ben paramı kazanayım, kodu da açayım işte açık kaynak olsun destek vermiş olayım demek değildir. Açık kaynak yazıyor olmak, gerçekten seviyor olmak, sürekli bir şeyleri geliştirip insanların kullanımına sunuyor olmak da değildir. Açık kaynak bir projede kar amacı gütmeden çalışmak, takım ruhunu yakalamak da değildir.

Bir iyilik yapıyorsanız, tam yapın.

2 satır kod yazıyorsanız, insanlar o kodu okuyacaksa, hakkını verin. O kodun ne olduğunu yazın. 2 tane yorum satırı yazın. Bakın aynı işi yapan 2 kod veriyorum ve örnekle açıklıyorum derdimi:

İlk kodumuz, buna gizemli adını verelim:(kodların ikisi de Python3 için yazılmıştır)

import time
l = int(input("kaça kadar hesaplansın?"))
flist = [0,1]
s = time.time()
for i in range(l-2):
    n = flist[-1] + flist[-2]
    flist.append(n)
    del flist[0]

b = time.time()
fark = b-s
print(flist[-1]/flist[-2],"\n",fark) 
print("Dizinin {}. elamanı: {}".format(l,flist[-1]))

Şimdi ikinci kodumuzu görelim. Buna da gizemsiz adını verelim.

"""
@author:Güray Yıldırım
@date:2013
Fibonacci serisinin istenen elemanının bulunması için hazırlanmış Python kodudur.
"""
import time # Programın çalışma süresini hesaplamak için time modülünü kullandık.
# Bu işlemi yaptırmak size kalmış, ufak bir performans testi yapabilirsiniz.
kaça_kadar = int(input("kaça kadar hesaplansın?")) # Bir sayı alıp integer a çevirdik.
fibolist = [0,1] # İlk 2 elemanı tanımladık.
başlangıç = time.time()
for i in range(kaça_kadar-2): # ilk 2 eleman tanımlı olduğu için -2 kez çalışacak.
    n = fibolist[-1] + fibolist[-2] # Son elemanı hesaplıyoruz.
    fibolist.append(n) # Elimizdeki listeye son elemanı ekliyoruz.
    del fibolist[0] # Bu satır programın daha kısa sürede
    # çalışması için eklendi. İsterseniz silebilirsiniz.
bitiş = time.time()
fark = bitiş-başlangıç
print(fibolist[-1]/fibolist[-2]) # Oranı hesaplattık.
print(fark) # Çalışma süresini ekrana bastırdık.

print("Dizinin {}. elamanı: {}".format(kaça_kadar,fibolist[-1]))
# Son satırda ise dizinin kaçıncı elemanı istenmişse onu ve değerini yazdırdık.
# Sadece oranı hesaplamak isterseniz bunu kaldırabilirsiniz.

Şimdi iki kod arasındaki farka bakın. İkinci kodu görmeden birinciye uğraşırsanız, programın ne yaptığını anlamanızın dışında, kodtaki değişkenlerin isimlerini aklınızda tutmanız, bilmediğiniz bir yapı varsa nasıl kullanıldığını anlamanız vs. gerekecek. Kısacası durduk yere kafanızı 1 yerine onlarca işle meşgul edeceksiniz. Ufacık bir kod parçası için o kadar yorulmanız gerekecek.

İkinci koda bakalım. En baştan söyleyeyim, bu kodtaki açıklamaların vs. de yeterli olduğunu düşünmüyorum. Ayrıca değişken isimleri de İngilizce olabilirdi, önceki kodlardan birini hazır aldığım için bu şekilde. Her satırda ne yaptığımız belirlenmiş.

Yorum satırı sizin programınızı yavaşlatmayacak, daha kötü bir programcı olmanıza sebep olmayacak üstüne daha iyi bir programcı olmanızı sağlayacak. Kodlarınıza bakan insanlar işlerini halledebilecek, bu adam ne yapmış burda diye düşünüp durmayacak. Bir kod bakacaklarında önce sizin kaynaklarınızı tercih edecekler(eğer isteğiniz buysa, ama amaç bu değil).

Değişken isimlerine de bir bakalım. İngilizce olsa tabii daha iyi olurdu ama, en azından Türkçe yazılmış, yabancıya yazmıyorsak sıkıntı yok. Her değişkenin ne yaptığı belli, nerde kullanıldığı açık. Kısacası bir problem yok.

2 satır yorum var diye uzun kod yazmış olmazsınız, eliniz de eskimez. Madem açık kaynak yazıyoruz, madem yığınla ilerlemeden bahsediyoruz, insanların bütün zamanını sizin projenizi anlamak için değil, geliştirmek için kullanmasına yardımcı olun. Bir işi yapıyorsak, elimizden geldiğince profesyonel olarak yapalım.

“6 ay sonra kendi kodunuza baktığınızda” muhabbetine farkettiyseniz henüz girmedim. Neden? Çünkü bu tür yazmaya alışık biri oturup kendi kodunu açıp uzun uzun incelemeyi de adet edinmiştir. Belki de Stockholm kokuları geliyordur kim bilir?

 
comments powered by Disqus