2013-05-01 4 views
10

मैं वर्तमान में फ्लास्क वेब ढांचे का उपयोग कर पाइथन में एक वेब अनुप्रयोग लिख रहा हूं। मैं वास्तव में एक ही फाइल में सब कुछ डालने के लिए उपयोग कर रहा हूं, कई अन्य परियोजनाओं के विपरीत मैं देखता हूं कि उनके पास कक्षाओं, विचारों और सामानों के लिए अलग-अलग निर्देशिकाएं हैं। हालांकि, फ्लास्क उदाहरण सिर्फ एक ही फाइल में सब कुछ सामान देता है, जो मुझे लगता है कि मैं क्या कर रहा हूं।क्या एक फ़ाइल में एक संपूर्ण फ्लास्क एप्लिकेशन लिखना बुरा व्यवहार है?

क्या एक ही फ़ाइल में पूरे वेब ऐप को लिखने में कोई जोखिम या समस्या है, या क्या मेरे कार्यों और कक्षाओं को अलग-अलग फाइलों में फैलाना बेहतर है?

+1

इस बात पर निर्भर करता है कि वेब ऐप कितना जटिल है, लेकिन मैं आमतौर पर वास्तविक एप्लिकेशन तर्क से वेब सामान को विभाजित करता हूं। –

उत्तर

15

आमतौर पर यह आपके ऐप को एक फ़ाइल में रखने के लिए एक अच्छा अभ्यास नहीं है, सिवाय इसके कि यह छोटा या शैक्षिक उद्देश्यों के लिए है।

मैं पहिया बदलने की नहीं करना चाहते, इसलिए यहाँ नमूना कुप्पी परियोजना संरचनाओं, कंकाल और इस विषय पर अन्य जानकारी के लिए लिंक है:

और, या पाठ्यक्रम, भयानक फ्लास्क mega-tutorial पढ़ें - आप देखेंगे कि आपका एप्लिकेशन कैसे बढ़ेगा और चरण-दर-चरण तार्किक भागों में विभाजित होगा।

+1

यहां मेरा है: https://github.com/fogleman/HelloFlask – FogleBird

2

इस पर कोई सही या गलत जवाब नहीं है। एक फ़ाइल को प्रबंधित करना आसान हो सकता है यदि यह एक बहुत ही छोटी परियोजना है और आप शायद इस पर काम कर रहे एकमात्र हैं। प्रोजेक्ट को कई स्रोत फ़ाइलों में विभाजित करने के कुछ कारण हैं:

  • आप केवल परिवर्तन और परिवर्तन की आवश्यकता के लिए प्रतिबद्ध हैं। मेरा मतलब यह है कि यदि आपके पास अपने सभी कोड के साथ एक बड़ी एकल फ़ाइल है, तो फ़ाइल में कोई भी परिवर्तन पूरे फ़ाइल को सहेजने/अपडेट करने का मतलब होगा। कल्पना कीजिए कि क्या आपने कोई गलती की है, तो संपूर्ण कोडबेस खराब हो सकता है।

  • आपके पास कर्तव्यों और जिम्मेदारियों के विभिन्न सेट के साथ संभवतः एक बड़ी टीम है। उदाहरण के लिए, आपके पास एक डिज़ाइनर हो सकता है जो केवल डिज़ाइन/फ्रंट एंड (एचटीएमएल, सीएसएस इत्यादि) का ख्याल रखता है। यदि आपके पास एक फ़ाइल में सभी कोड हैं, तो वे उन अन्य सामानों से अवगत हैं जिन्हें उन्हें चिंता करने की आवश्यकता नहीं है। इसके अलावा, वे किसी भी चीज़ के बारे में चिंता करने की आवश्यकता के बिना स्वतंत्र रूप से अपने हिस्से पर काम कर सकते हैं। आप यहां कई स्रोत फ़ाइलों के जरिए गलतियों के जोखिम को कम करते हैं।

  • कोडबेस के रूप में प्रबंधित करने के लिए आसान है। क्या आप कल्पना कर सकते हैं कि एक ही फाइल में कोड की 100,000 लाइनों को देखकर और किसी समस्या को डीबग करने का प्रयास कर रहे हैं?

-2

चूंकि यह एक माइक्रो फ्रेमवर्क है, इसलिए आपको इसे पूर्ण उड़ाए गए अनुप्रयोगों के निर्माण पर भरोसा नहीं करना चाहिए क्योंकि यह इसके लिए डिज़ाइन नहीं किया गया है।

जब तक आप अपनी परियोजना को छोटा रखते हैं (कुछ रूप, कुछ टेबल और अधिकतर स्थैतिक सामग्री) आप ठीक होंगे। लेकिन यदि आप एक बड़ा आवेदन करना चाहते हैं, तो आप मॉड्यूलरिटी और कोड के पुन: उपयोग के संदर्भ में ढांचे की क्षमताओं को "प्रोग्राम आउट" कर सकते हैं। उस स्थिति में आप एक पूर्ण उड़ा फ्रेमवर्क की ओर माइग्रेट करना चाहते हैं जहां सबकुछ अपने मॉड्यूल में अलग हो जाता है।

+3

माइक्रो === उपयुक्त नहीं है। असल में इसका अर्थ यह है कि यह उपयुक्त है, क्योंकि आपके पास रचनात्मकता के लिए और अधिक जगह है और आपके हाथ पूर्ण-ढांचे के ढांचे की वर्कफ़्लो आवश्यकताओं से बंधे नहीं हैं – Tigra

संबंधित मुद्दे