Apakah ada konvensi penamaan untuk aplikasi Django


115

Adakah konvensi penamaan yang disukai untuk membuat aplikasi Django yang terdiri dari lebih dari satu kata? Misalnya, manakah dari berikut ini yang lebih disukai?

  1. my_django_app
  2. my-django-app Pembaruan: Tidak diizinkan secara sintaksis
  3. mydjangoapp Solusi yang disarankan

Meskipun semuanya mungkin merupakan opsi 1 dan 3 yang diizinkan secara sintaksis, apakah ada preferensi? Melihat cara Django membuat nama tabel dengan menggabungkan nama aplikasi dan nama model dengan garis bawah, saya bersandar pada opsi # 1.

Pikiran?

Jawaban:


108

Mereka harus merupakan nama paket yang valid. Itu mengesampingkan 2 ("import my-django-app" akan menjadi kesalahan sintaks). PEP 8 mengatakan:

Modul harus memiliki nama yang pendek, semuanya huruf kecil. Garis bawah dapat digunakan dalam nama modul jika itu meningkatkan keterbacaan. Paket Python juga harus memiliki nama yang pendek dan semuanya huruf kecil, meskipun penggunaan garis bawah tidak disarankan.

Jadi, 1 dan 3 keduanya valid, tetapi 3 akan menjadi pendekatan yang direkomendasikan.


1
Entri blog yang bermanfaat tentang masalah ini, hanya untuk memperluas: streamhacker.com/2011/01/03/django-application-conventions
Akhorus

7
Hai @ surfer19. Dua sendok Django berisi banyak sekali praktik yang baik. Mereka memilih singular: blog. Ini adalah pilihan yang sama saat Anda membuat Model: Blog lebih disukai di atas Blog.
Wim Feijen

2
Secara umum, saya akan merekomendasikan menggunakan garis bawah, karena mereka meningkatkan keterbacaan dan mereka biasa digunakan, misalnya saya banyak menggunakan django_extensions dan django_debug_toolbar.
Wim Feijen

14
@WimFeijen, tampaknya Dua sendok Django, setidaknya di sini , merekomendasikan penggunaan 'versi jamak dari model utama aplikasi' untuk nama aplikasi, dengan pengecualian seperti aplikasi bernama blog, 'pengecualian yang baik'.
Caco

Saya berdiri dikoreksi. Terima kasih @Caco telah melihat ini dan mendidik saya.
Wim Feijen

11

beberapa contoh bagus

  • graphene_django
  • pengguna
  • pesanan
  • oauth2_provider
  • rest_framework
  • jajak pendapat

dalam istilah sederhana, app_nameharus memiliki nama yang pendek, semuanya menggunakan huruf kecil. Garis bawah dapat digunakan dalam nama modul jika itu meningkatkan keterbacaan. juga harus memiliki nama pendek dan dapat berupa nama jamak dan tunggal


7

Nama direktori aplikasi harus merupakan nama paket Python yang valid. Ini berarti bahwa opsi 2 sama sekali tidak dapat diterima sebagai nama paket, meskipun masih dapat digunakan untuk tujuan lain, seperti dokumentasi. Pada akhirnya itu tergantung pada gaya pribadi. Jika Anda lebih suka opsi 3, gunakanlah.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.