SORU
10 EKİM 2008, Cuma


Python bir uygulama için en iyi proje yapısı nedir?

Python önemsiz olmayan son kullanıcı masaüstü (değil) bir web uygulaması geliştirmek istiyorum hayal. Projenin klasör hiyerarşi yapısı için en iyi yolu nedir?

İstenen özellikleri, IDE-dostu, uygunluk kaynak için kontrol dallanma/birleştirme bakım ve kolay kurulum üretimi paketleri kolaylığı.

Özellikle:

  1. Kaynak koymak mı?
  2. Uygulama başlatma komut dosyaları koymak?
  3. Nerede IDE projesi işe yaramayan öğeleri koymak mı?
  4. Nerede/kabul testleri ünite koyuyorsun?
  5. Burada config dosyaları gibi olmayan Python veri koymak mı?
  6. Nerede ikili genişleme modülleri kadar pyd/C gibi olmayan Python kaynakları koymak mı?

CEVAP
10 EKİM 2008, Cuma


Çok fazla bir önemi yok. Seni ne mutlu ediyorsa çalışacak. Python projeleri basit olabilir, çünkü saçma bir kural bulunmuyor.

  • Komut satırı arayüzü bu tür şeyler için /scripts /bin
  • Testleriniz için /tests
  • /lib Senin için C dili kütüphaneleri
  • Çoğu belge /doc
  • Epydoc tarafından oluşturulan API dokümanlar için /apidoc.

Ve üst düzey dizin README, Config ve etajer içerebilir.

Zor seçimi veya /src bir ağaç kullanılıp kullanılmayacağını. Python Java gibi /src, /lib /bin arasında bir ayrım yok veya C vardır.

Üst düzey /src Bir dizin anlamsız olarak bazıları tarafından görülür bu yana, üst düzey dizin, uygulama, üst düzey mimari olabilir.

  • /foo
  • /bar
  • /baz

Ben altında tavsiye yıktıklar "adı---ürün" dizin. Eğer bir uygulama tüm bu içeren quux, dizin adlı yazıyorsun eğer öyleyse, şeyler /quux olarak adlandırılır.

Başka bir proje PYTHONPATH, /path/to/quux/foo QUUX.foo modülü yeniden içerebilir.

Komodo Edit kullanıyorum beri benim durumumda, benim IDE cuft bir tek .Dosya KPF. Aslında üst düzey /quux dizine koy ve SVN eklemeyi ihmal.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Julia Graf

    Julia Graf

    6 Mayıs 2006
  • maxman.tv

    maxman.tv

    29 EKİM 2013
  • spectragirlz16's channel

    spectragirlz

    22 Ocak 2012