มีหลักการตั้งชื่อสำหรับแอป Django หรือไม่


116

มีหลักการตั้งชื่อที่ต้องการสำหรับการสร้างแอป Django ที่ประกอบด้วยคำมากกว่าหนึ่งคำหรือไม่? ตัวอย่างเช่นข้อใดต่อไปนี้เป็นที่ต้องการ

  1. my_django_app
  2. my-django-app อัปเดต:ไม่อนุญาตให้ใช้ไวยากรณ์
  3. mydjangoapp วิธีแก้ปัญหาที่แนะนำ

แม้ว่าตัวเลือกทั้งหมดอาจเป็น ตัวเลือกที่ 1 และ 3ได้รับอนุญาตในรูปแบบไวยากรณ์ แต่มีการตั้งค่าหรือไม่? เมื่อพิจารณาถึงวิธีที่ Django สร้างชื่อตารางโดยการรวมชื่อแอปและชื่อรุ่นเข้ากับขีดล่างฉันกำลังพิงตัวเลือก # 1

คิด?

คำตอบ:


108

ต้องเป็นชื่อแพ็กเกจที่ถูกต้อง นั่นออกกฎ 2 ("import my-django-app" จะเป็นข้อผิดพลาดทางไวยากรณ์) PEP 8พูดว่า:

โมดูลควรมีชื่อสั้น ๆ เป็นตัวพิมพ์เล็กทั้งหมด สามารถใช้ขีดล่างในชื่อโมดูลได้หากช่วยเพิ่มความสามารถในการอ่าน แพ็คเกจ Python ควรมีชื่อที่สั้นและเป็นตัวพิมพ์เล็กทั้งหมดแม้ว่าจะไม่สนับสนุนการใช้เครื่องหมายขีดล่างก็ตาม

ดังนั้น 1 และ 3 จึงใช้ได้ แต่ 3 จะเป็นแนวทางที่แนะนำ


1
บล็อกโพสต์ที่เป็นประโยชน์เกี่ยวกับปัญหานี้เพียงเพื่อขยาย: streamhacker.com/2011/01/03/django-application-conventions
Akhorus

7
สวัสดี @ surfer190. Django สองสกู๊ปมีแนวทางปฏิบัติที่ดีมากมาย พวกเขาเลือกเอกพจน์: บล็อก เป็นทางเลือกเดียวกันเมื่อคุณสร้าง Model: Blog เป็นที่ต้องการเหนือ Blogs
Wim Feijen

2
โดยทั่วไปฉันขอแนะนำให้ใช้เครื่องหมายขีดล่างเนื่องจากช่วยเพิ่มความสามารถในการอ่านและมักใช้เช่นฉันใช้ django_extensions และ django_debug_toolbar เป็นจำนวนมาก
Wim Feijen

14
@WimFeijen ดูเหมือนว่า Django สองสคูปอย่างน้อยที่นี่แนะนำให้ใช้ 'รุ่นพหูพจน์ของโมเดลหลักของแอพ' สำหรับชื่อแอพโดยมีข้อยกเว้นเช่นแอพชื่อบล็อกซึ่งเป็น 'ข้อยกเว้นที่ดี'
Caco

ฉันยืนแก้ไข ขอบคุณ @Caco ที่ตรวจสอบเรื่องนี้และให้ความรู้ฉัน
Wim Feijen

11

ตัวอย่างที่ดี

  • graphene_django
  • ผู้ใช้
  • คำสั่งซื้อ
  • oauth2_provider
  • rest_framework
  • โพล

พูดง่ายๆคือapp_nameควรมีชื่อสั้น ๆ ตัวพิมพ์เล็กทั้งหมด สามารถใช้ขีดล่างในชื่อโมดูลได้หากช่วยเพิ่มความสามารถในการอ่าน ควรมีชื่อสั้น ๆ และอาจเป็นชื่อพหูพจน์และเอกพจน์


7

ชื่อไดเรกทอรีของแอปต้องเป็นชื่อแพ็กเกจ Python ที่ถูกต้อง ซึ่งหมายความว่าอ็อพชัน 2 ไม่สามารถใช้เป็นชื่อแพ็กเกจได้อย่างสมบูรณ์แม้ว่าจะยังสามารถใช้เพื่อวัตถุประสงค์อื่นเช่นเอกสารประกอบ ในที่สุดก็มาถึงสไตล์ส่วนตัว หากคุณต้องการตัวเลือก 3 ก็ใช้มัน


0

คะแนนโหวตของฉันสำหรับ 1 และ 3 แต่คุณสามารถตรวจสอบแอปยอดนิยมต่างๆได้ที่ http://www.django-cms.org/ http://geodjango.org/


2
แม้ปพลิเคชันอื่น ๆ อยู่ที่นี่: djangopackages.org โปรดทราบว่าแพ็กเกจมักตั้งชื่อโดยใช้ minuses: django-debug-toolbar ในขณะที่คุณต้องใช้ "django_debug_toolbar" ในการตั้งค่า INSTALLED_APPS ของคุณ
Wim Feijen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.