क्या Django ऐप्स के लिए नामकरण सम्मेलन है


115

वहाँ एक Django एप्लिकेशन को एक से अधिक शब्दों से मिलकर बनाने के लिए एक पसंदीदा नामकरण सम्मेलन है? उदाहरण के लिए, निम्नलिखित में से किसे पसंद किया जाता है?

  1. my_django_app
  2. my-django-app अद्यतन: वाक्य-रचना की अनुमति नहीं है
  3. mydjangoapp अनुशंसित समाधान

हालांकि उनमें से सभी के विकल्प 1 और 3 हो सकते हैं, जबकि कृत्रिम रूप से अनुमति दी जाती है, क्या कोई वरीयता है? जिस तरह से Django ऐप के नाम और मॉडल के नाम को अंडरस्कोर के साथ जोड़कर टेबल के नाम बनाता है, मैं विकल्प # 1 के खिलाफ झुक रहा हूं।

विचार?

जवाबों:


108

उनके पास वैध पैकेज नाम होने चाहिए। वह नियम 2 ("इम्पोर्ट माय-डीजेंगो-ऐप" एक सिंटैक्स त्रुटि होगी)। पीईपी 8 कहता है:

मॉड्यूल में छोटे, सभी-लोअरकेस नाम होने चाहिए। अगर यह पठनीयता में सुधार करता है तो अंडरस्कोर को मॉड्यूल नाम में इस्तेमाल किया जा सकता है। पायथन पैकेज में भी छोटे, सभी-लोअरकेस नाम होने चाहिए, हालांकि अंडरस्कोर का उपयोग हतोत्साहित किया जाता है।

तो, 1 और 3 दोनों वैध हैं, लेकिन 3 अनुशंसित दृष्टिकोण होगा।


1
इस मुद्दे के बारे में एक उपयोगी ब्लॉग पोस्ट, बस विस्तार करने के लिए: streamhacker.com/2011/01/03/django-application-conventions
Akhorus

7
हाय @ surfer190। Django के दो स्कूप में अच्छी प्रथाओं का एक टन शामिल है। वे एकवचन का चयन करते हैं: ब्लॉग। जब आप एक मॉडल बना रहे हों तो यह एक ही पसंद है: ब्लॉग ब्लॉग के ऊपर पसंद किया जाता है।
विमी फीजेन

2
सामान्य तौर पर, मैं अंडरस्कोर का उपयोग करने की सलाह दूंगा, क्योंकि वे पठनीयता में सुधार करते हैं और वे आमतौर पर उपयोग किए जाते हैं, उदाहरण के लिए मैं django_extensions और django_debug_toolbar का उपयोग करता हूं।
विमी फीजेन

14
@WimFeijen, ऐसा लगता है कि Django के दो स्कूप्स, कम से कम यहां , ऐप नाम के लिए 'ऐप के मुख्य मॉडल के बहुवचन संस्करण' का उपयोग करने की सलाह देते हैं, जिसमें ब्लॉग नामक ऐप, एक 'अच्छा अपवाद' जैसे अपवाद हैं।
काक

मुझे सही साबित होना है। इस पर गौर करने और मुझे शिक्षित करने के लिए @Caco को धन्यवाद।
विम फिजेन

11

कुछ अच्छे उदाहरण

  • graphene_django
  • उपयोगकर्ताओं
  • आदेश
  • oauth2_provider
  • rest_framework
  • चुनाव

सरल शब्दों में app_name, सभी छोटे-छोटे नाम होने चाहिए। यदि यह पठनीयता में सुधार करता है तो अंडरस्कोर को मॉड्यूल नाम में उपयोग किया जा सकता है। एक संक्षिप्त नाम भी होना चाहिए और यह एक बहुवचन और एकवचन नाम हो सकता है


7

ऐप निर्देशिका नाम एक मान्य पायथन पैकेज नाम होना चाहिए। इसका मतलब है कि विकल्प 2 पूरी तरह से एक पैकेज नाम के रूप में अनजाने में है, हालांकि इसे अभी भी अन्य उद्देश्यों के लिए उपयोग किया जा सकता है, जैसे कि प्रलेखन। अंत में यह व्यक्तिगत शैली में आता है। यदि आप विकल्प 3 पसंद करते हैं तो इसका उपयोग करें।


0

1 और 3 के लिए मेरे वोट, लेकिन आप कई लोकप्रिय ऐप देख सकते हैं: http://www.django-cms.org/ http://geodjango.org/


2
और भी अधिक अनुप्रयोग यहां हैं: djangopackages.org । वह मन जिसे पैकेजों को अक्सर minuses का उपयोग करके नाम दिया जाता है: django-debug-toolbar, जबकि आपको अपनी INSTALLED_APPS सेटिंग में "django_debug_toolbar" का उपयोग करना होगा।
विम फिजेन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.