2009-10-20 14 views
13

मैं एक ग्राहक के लिए एक रेल ऐप शुरू कर रहा हूं और या तो एक मस्तिष्क मानचित्र बनाने या सीधे ककड़ी विनिर्देश पर कूदने पर विचार कर रहा हूं।आप अपने रेल ऐप की योजना कैसे बनाते हैं?

आप अपने रेल ऐप की योजना कैसे बनाते हैं?

एक अतिरिक्त प्रश्न के रूप में, आप क्यूम्बर के साथ भी शुरू करते हैं, आप किस बिंदु पर यूनिट परीक्षण लिखेंगे? विनिर्देशों को संतुष्ट करने से पहले?

+1

मुझे लगता है कि यह समुदाय विकी होना चाहिए। –

उत्तर

4

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

तो मैं निम्न कार्य करें चाहते हैं:

  • कुछ mindmap लिखें। लेकिन परियोजना के प्रमुख विचारों के साथ इसे सरल रखें।
  • शिम समय पर परीक्षण और कोडिंग लिखना शुरू करें (एक परीक्षण लिखें, इसे पास करें, एक और लिखें ...)।

तो आप अपना आवेदन चलाते समय अपने विनिर्देश लिखेंगे। इसे साफ रखना, लेकिन चुस्त रहना और परियोजना के मध्य में कुछ विचारों को बदलने में सक्षम होना।

+0

डोमेन को स्पष्ट रूप से परिभाषित करना होगा विरोधी विरोधी? – Alexandre

+1

नहीं। जब तक आप परियोजना विकसित होने से पहले परिभाषित किए गए परिवर्तन को बदलने की अनुमति देते हैं, तब तक आप चुस्त रहते हैं। –

+0

मैं मॉडल की विधियों की आवश्यकता के बारे में पहचानने में सक्षम होने के लिए सुविधाओं को लिखने के बारे में सोच रहा था, फिर यूनिट परीक्षण लिख रहा था, फिर सुविधाओं को पास करने के लिए वापस जा रहा था। – Alexandre

5

मैं उपयोगकर्ता इंटरफ़ेस के स्केच के साथ शुरू करता हूं और फिर HTML mockups पर प्रगति करता हूं। एक बार यूआई डिज़ाइन को अंतिम रूप देने के बाद मैं एप्लिकेशन और उनके रिश्ते में विश्वसनीय संसाधनों की पहचान कर सकता हूं।

+0

हाय जॉन, क्या आप डोमेन को ध्यान से मैप करके सावधानीपूर्वक संसाधनों की पहचान नहीं कर सकते? – Alexandre

+0

आप कर सकते हैं, लेकिन यूआई के साथ शुरू करने से पहले मुझे यह पता लगाने में मदद मिलती है कि डोमेन सीमाएं कहां हैं। Http://gettingreal.37signals.com/ch06_From_Idea_to_Implementation.php –

36

मुझे 6 कदम की प्रक्रिया मिली है।

  1. मैं मॉडल संबंध बाहर काम करना पसंद करते हैं और कुछ भी करने से पहले उपयोग करता है। आम तौर पर मैं सूचनाओं के सुसंगत भाग वाले इकाइयों में मॉडलों को परिभाषित करने की कोशिश करता हूं। आमतौर पर यह ऑर्थोगोनल संसाधनों की पहचान करके शुरू होता है, मेरे आवेदन की आवश्यकता होगी (उपयोगकर्ता, पोस्ट, आदि)। मैं तब पता लगाता हूं कि उन संसाधनों में से प्रत्येक को पूरी तरह से (गुण) की आवश्यकता है और संभावित रूप से (एसोसिएशन) की आवश्यकता हो सकती है, और वहां से उस जानकारी को (विधियों) पर कैसे संचालित किया जाएगा, वहां से मैं संसाधन स्थिरता को नियंत्रित करने के लिए नियमों का एक सेट परिभाषित करता हूं (सत्यापन)।

    मैं आमतौर पर अपने डिजाइन पर कुछ बार फिर से काम करता हूं क्योंकि अन्य मॉडलों को परिभाषित करने का कार्य आम तौर पर मुझे उन लोगों पर पुनर्विचार करता है जो मैंने पहले ही किया है। एक बार मेरे पास मॉडल डिज़ाइन होने के बाद, मैं डिज़ाइन को स्पष्ट करने के लिए मॉडल को पुन: सक्रिय या विशेषज्ञता (उप-वर्गीकरण) शुरू कर दूंगा।

  2. मैं माइग्रेशन लिखता हूं और अपने मॉडल के लिए कंकाल बना देता हूं। मैं आमतौर पर परीक्षण नहीं लिखूंगा जब तक कि मेरे पास लागू विधियों और मान्यताओं का पहला मसौदा न हो। यह हमेशा स्पष्ट नहीं होता है कि इसे कुछ मामूली विचार देने तक चीजों को कैसे कार्यान्वित किया जाए।

  3. अगला परीक्षण सूट आता है। कोई फर्क नहीं पड़ता कि मैं परीक्षण लिखने के लिए क्या उपयोग करता था, जब तक कि मैं निश्चित हो सकता हूं कि बैकएंड सचेत है।

  4. यह तब होता है जब मैं नियंत्रण प्रवाह को एकसाथ टुकड़ा करता हूं। सफल अनुरोध पर क्या होता है? असफल अनुरोध? कौन सा नियंत्रक क्रिया दूसरों से जुड़ी होगी? आम तौर पर नियंत्रकों और मॉडलों (मॉडल के उप वर्गों की गणना नहीं) के बीच 1-1 मैपिंग होता है, हर बार मुझे ऐसी स्थितियों का सामना करना पड़ता है जहां मुझे कई मॉडल प्रकारों पर कार्य करने की आवश्यकता होती है, जिसके लिए मैं शायद एक नया नियंत्रक बनाउंगा। इस पर निर्भर करता है कि मेरा ऐप कितना जटिल है, मैं प्रवाह मशीन को राज्य मशीन के रूप में मॉडल कर सकता हूं।

  5. आखिरकार मैं विचार बना देता हूं।मैं यूआई आधारित स्केचिंग से शुरू करता हूं जो मेरे मॉडल के रिश्तों और विशेषताओं से काफी प्रभावित है। सामान्य भागों को सारणी दें, फिर विचार लिखें।

  6. यूआई पोलिश। मैं एक सीएसएस बनाता हूं, और दूरस्थ कॉल के साथ लिंक को प्रतिस्थापित करना शुरू करता हूं, या उचित होने पर भी जावास्क्रिप्ट को बदलना शुरू करता हूं।

मैं चरण 2 और 3 में अंतर कर सकता हूं। मुझे लगता है कि परीक्षण के लिए कोड लिखने के बाद मुझे एक परीक्षण लिखना बहुत आसान है। विशेष रूप से क्योंकि मैं आमतौर पर कंसोल में चीजों का परीक्षण करता हूं जैसा कि मैं लिखता हूं, और आधा परीक्षण कंसोल से पेस्ट करके लिखा जाता है।

मैं प्रत्येक मॉडल/नियंत्रक के लिए चरण 4 और 5 को विभाजित भी कर सकता हूं। किसी भी बिंदु पर मैं वापस जा सकता हूं और संशोधित कर सकता हूं, पिछले निर्णय, और मेरे चरणों के माध्यम से उन परिवर्तनों का प्रचार कर सकता हूं।

+0

देखें आप यह नहीं कहते कि आप मॉडल और नियंत्रकों की पहचान कैसे करते हैं। –

+1

मैं उस पर चमकदार हूं। मुझे लगा कि इस तरह के अस्पष्ट प्रश्न के लिए वर्णन गहराई में था। मैंने इसे अभी शामिल करने के लिए संपादित किया है। जब मैं उस पर था, मैंने अपने अन्य चरणों में समान विवरण जोड़ा, और यहां तक ​​कि एक जोड़ा। – EmFi

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