14 Ağustos 2008 Perşembe

Kodlarken

Python ile programlama yaparken proje arkadaşım Mirat'le beraber (hatta ona çaktırmadan) bir kural listesi oluşturmuştum. Paylaşayım dedim:
  • Programın anadili İngilizce olmalı.
  • Noktalama işaretlerinden önce boşluk bırakılmaz, sonra bırakılır.
  • Operatörlerden hem önce, hem de sonra boşluk bırakılır.
  • (), {} ve []'lerden önce boşluk bırakılmaz, sonra bırakılır; hatta bir alt satıra konulur.
  • Eğer çıktı ekrana yazdırılacaksa " "; yazdırılmayacaksa ' ' kullan.
  • Her fonksiyonun altına açıklama gir.
  • Türkçe'mizi güzel kullanalım, trafik kurallarına uyalım.
  • Her fonksiyon, sınıf, döngü ve try - except arasında bir satır boşluk olsun.
  • Tab mutlaka 4 boşluk olarak ayarlanmalı.
  • Emacs veya Vim'in güzelliği, gereksiz boşlukları göze batırıp (hele ki emacs'te) kodu kirli göstermesindedir. Gereksiz boşluklar, Emacs'te kırmızı arkaplan, Vim'de ise nokta şeklinde gözükür.
  • Fonksiyon ve sınıf isimleri İngilizce olmalı. Eğer birden fazla kelimeden oluşuyorsa, boşluk yerine alt çizgi konulmalı ve hepsi küçük harfle yazılmalı; veya boşluk bırakmaksızın, sonraki kelimenin ilk harfi büyük yazılmalı. Örneğin:

    def check_local_folder():
    print "hede"

    def CheckLocalFolder():
    print "dede"

Evet çok acemice; ama biz bunları uyguluyoruz. Bir de boşluklara çok mu kafayı taktık, ne.. Bu arada Alper Kanat'ın önerileriyle bir iki şey değiştirdim. Esasında biz bunu uyguluyoruz :P

6 yorum:

  1. Neden anadili İngilizce olmalı?
    Tam bunu derken şu geliyor aklıma:
    Çoklu dil desteği olan yazılımlar nasıl yapılabilir? Hani şöyle POT dosyaları olan ve PO'lardan veri alabilen?
    Bir yazıda bahsetseniz.

    YanıtlayınSil
  2. Neden anadili İngilizce olmalı, çünkü çoklu dil desteğini daha kolay bir şekilde sağlamak için. İngilizce evrensel bir dil ve programı kullanan herkes, dilerse kendi çevirisini yapıp bize gönderebilmeli.

    Çoklu dil desteği konusu gerçekten güzel bir konu, detaylı bir şekilde öğrendiğimiz zaman .po dosyaları üzerine bir yazı düşünürüz. Yorumun için teşekkürler.

    YanıtlayınSil
  3. Atladığımız bir nokta olmuş sanırım değişken, fonksiyon ve sınıflar tanımlanırken isimlendirme nasıl olacak belirtilmemiş.

    Ben bunları ingilizce belirtip, kelimeleri alt çizgi ile ayırıp tamamını küçük harf yazıyorum.

    örn:
    local_folder = "..."
    def check_local_folder()

    Uygunsa bu şablonu kullanalım. Yazıya da ekleyelim.

    YanıtlayınSil
  4. @mirat can bayrak:
    ekleyelim o zaman bunu, madde olarak :D

    YanıtlayınSil
  5. Haklısınız.Ben olaya sadece Türkiye'deki kullanıcılar gözüyle baktığım için bu aklıma gelmemişti.Bir de bir şey soracağım, çoğu kişi bir projeleri olduğunda sourceforge.net'i kullanıyor.Şimdi code.google.com adresinde de görülüyor bu ivme.Ohloh diye bir şey var.Nedir bunlar, farkları nedir, siz ne düşünüyorsunuz, bununla ilgili 1-2 satır bir şey yazsanız boş bir zamanınızda nasıl olur? Mesela ohloh'a bakıyorum, Pardus geliştiricileri vs. yazıyor, diller var, haritalar var, projeler var.Ancak ne olduğunu anlayamıyorum.Aydınlatabilir misiniz bizi?
    Ek: Anasayfadaki ankete ve Öİ Gezegeni'ndeki üslubunuz epey güzeldi Gökmen Bey.Teşekkür ederim.

    YanıtlayınSil
  6. Merhaba. Öncelikle isminizi belirtirseniz bu bizim için çok iyi olur =)

    Ohloh, sourceforge, googlecode, berlios veya benzeri birçok sitenin kendine göre ayrıcalıkları var. Bizim bu konuda pek yeterli bir araştırmamız yok; ama benim googlecode'u seçmemdeki nedeni soracak olursanız, Nokia cep telefonlarının genellikle tercih edilme sebebiyle aynı olacaktır. Bana pratik geliyor, her ne kadar arayüzü İngilizce kullansam da, Türkçe dil desteği mevcut, Bugzilla benzeri sistemi çok pratik ve en güzeli, beni çok uğraştıran bir meselesiyle karşılaşmadım.

    Bu konuda verebileceğim bilgi bu kadar, siteyi biraz "Python Deneyimlerimiz" amacına göre kullanmaya özen gösteriyoruz. Bu konuyla ilgili bir deneyimimiz olursa, yazabiliriz de =)

    YanıtlayınSil