2008-09-17 16 views
5

मैं स्क्रैच से हमारे खराब डिज़ाइन किए गए वेब एप्लिकेशन को फिर से बना रहा हूं, और टीडीडी में जाना चाहता हूं और मूल रूप से "चीजें सही" करना सीखना प्रोजेक्ट की तरह है। शुरुआत से "सही" करने के लिए कौन से टूल्स, प्रक्रियाओं और संसाधनों की सिफारिश की जाती है? मैं एक विश्लेषक और डेवलपर के रूप में अकेले काम कर रहा हूं, एक व्यावसायिक विश्लेषक और व्यवसाय मालिकों के उपयोगिता परीक्षण और उपयोग मामलों के लिए बैकअप के साथ।जमीन से नए एएसपी.NET वेब ऐप के लिए सबसे अच्छी प्रक्रिया क्या है?

संपादित करें: अभी हम स्रोत नियंत्रण के लिए सोर्ससेफ का उपयोग करते हैं, क्या तकनीकी रूप से कोई कारण है कि मैं हमें उपversण पर स्विच करने की कोशिश करना चाहता हूं?

संपादित करें # 2: ऐसा लगता है कि आम सहमति नहीं है: क्रूज Control.NET सबवर्सन (अगर मैं SourceSafe का उपयोग बंद करना चाहते हैं) ASP.NET MVC इकाई परीक्षण Resharper

उत्तर

5

मेरी सशक्त अनुशंसा के लिए NUnit यदि आप अपनी विकास प्रक्रिया में यूनिट परीक्षण को उच्च प्राथमिकता देना चाहते हैं तो आप MVC for ASP.NET पर एक नज़र डालें। ऐसा लगता है कि आप जो करने की कोशिश कर रहे हैं उसके लिए यह सही है।

मैं निरंतर एकीकरण के लिए CruiseControl.NET की भी सिफारिश करता हूं (यदि आपकी टीम बढ़ने जा रही है तो यह महत्वपूर्ण है)।

जब मैं छोटी टीमों पर काम कर रहा हूं तो सबवर्सन मेरा पसंदीदा स्रोत नियंत्रण प्रणाली है। विंडोज एक्सप्लोरर एकीकरण के लिए Tortoise SVN का उपयोग करें।

1

हम विजुअल स्टूडियो 2008, रिशेर्पर 4.1, सोर्स कंट्रोल के लिए सबवर्जन, स्वचालित बिल्ड के लिए क्रूज़ कंट्रोल और हमारे सभी स्वचालित परीक्षणों के लिए इकाई परीक्षण में निर्माण के साथ एक सेटअप का उपयोग कर रहे हैं। और Linq2Sql के लिए या मैपिंग। आप कुछ भी स्वैप कर सकते हैं लेकिन वीएस (जाहिर है) और रिशेर्पर (यह बहुत अच्छा है) लेकिन आप आसानी से किसी अन्य स्रोत नियंत्रण, या मैपर या यूनिट परीक्षण टूल का उपयोग कर सकते हैं।

1

यहां कुछ उपकरण है कि यह आसान और सुरक्षित (नाम Googling प्रासंगिक पृष्ठों लाएगा) काम करने के लिए कर सकते हैं: - स्रोत नियंत्रण
NUnit - परीक्षण ढांचे
CruiseControl.Net -

सबवर्सन स्वचालित

1

विजुअल सोर्स सुरक्षित में सख्त लॉकिंग नीति है ताकि केवल एक व्यक्ति एक समय में फ़ाइल पर काम कर सके .... सीवीएस या उपवर्तन एकाधिक उपयोगकर्ताओं को एक ही समय में एक ही फाइल पर काम करने की अनुमति देता है।

+0

तो, अगर मैं अकेले काम कर रहा हूं तो यह एक बड़ा सौदा नहीं है, लेकिन ऐसा तब होगा जब मुझे एक नया डेवलपर मेरे साथ काम करने के लिए किराए पर लेता है? –

+0

सोर्ससेफ का उपयोग करने वाली बहुत बड़ी टीमें हैं। यदि आपकी टीम के सदस्य सिस्टम के विभिन्न घटकों पर काम करते हैं जहां वे शायद ही कभी ओवरलैप हो जाते हैं, तो यह कोई समस्या नहीं होगी। आप इसकी समस्या तक तब तक चिपके रह सकते हैं, फिर स्विच करें। हालांकि मेरी व्यक्तिगत वरीयता एसवीएन है। – JasonS

+0

सोर्ससेफ –

1

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

जो कुछ भी आप करते हैं, उसके अनुरूप रहें, मेरा सर्वोत्तम सुझाव है - यदि आप टीडीडी के साथ जाते हैं, तो टीडीडी के साथ जाओ यदि आप जानते हैं कि मेरा क्या मतलब है।

+0

में एकाधिक चेकआउट की अनुमति देने का विकल्प है, मुझे पता है कि यहां कोई "जादू बुलेट" नहीं है, जो मैं यहां देख रहा हूं वह दूसरों के लिए कुछ सुझाव है जो अतीत में उनकी अच्छी सेवा करता है। मैं इन महान सुझावों को लेने और बैठने और अनुसंधान का एक गुच्छा करने और मेरे और मेरे प्रोजेक्ट के लिए सर्वोत्तम रणनीति तैयार करने की योजना बना रहा हूं। –

+0

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

2

अपने स्रोत नियंत्रण प्रश्न का उत्तर ...

जमीन से कोई एप्लिकेशन Redesigning शायद एक समय लेने वाली परियोजना होगी, मैं समय बर्बाद नहीं होगा स्रोत नियंत्रण को बदलने के लिए जब तक आप पहले से ही ठीक-ठीक पता जो एक आप इसका उपयोग करेंगे और इसे स्थापित करने का अनुभव करेंगे।

विजुअल सोर्ससेफ को नौकरी मिलती है, खासकर 1 व्यक्ति के प्रयास में, और इसकी पहले से ही इस जगह पर चलती है।

0

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

बाद में लाइन के नीचे, आप एमएस टीम सिस्टम की ओर देख सकते हैं, या शायद अन्य तृतीय पक्ष औजारों के लिए जा सकते हैं।

व्यक्तिगत रूप से मैं सबवर्सन का प्रशंसक नहीं हूं, लेकिन मुझे लगता है कि यह पूरे उद्योग में एक लोकप्रिय उपकरण है।

टीडीडी-विशिष्ट सॉफ्टवेयर के लिए, मैं कोई सलाह नहीं दे सकता। क्या आपने यूएमएल या आपके द्वारा उपयोग की जाने वाली औपचारिक विधियों के लिए पसंदीदा टूल हैं?

+0

अभी हमारे पास औपचारिक तरीकों नहीं हैं, और इस मुद्दे का हिस्सा है। यहां आने से पहले यह बहुत ही आदर्श "बस इसे काम करें" आदर्श था। डेवलपर जिसने अधिकांश ऐप लिखा है, मैं फिर से लिख रहा हूं, अब कंपनी के साथ नहीं है और यह मुझे इस ऐप को डिज़ाइन करने के लिए बीमार बनाता है। –

0

उल्लेख करने की एक बात: 100% सुनिश्चित करें कि आप समझते हैं कि प्रोग्राम क्या कर रहा है और क्या करना है, इससे पहले कि कोई बदलाव करें। पूरी स्थिति को समझने के बाद एक 'बुरा' सॉफ्टवेर अक्सर 'बुरा नहीं' होता है।

SourceSafe ठीक हो सकता है, विशेष रूप से एक व्यक्ति के लिए है, लेकिन जब वहाँ टीम पर अधिक से अधिक ppl हो जाएगा, ताला मॉडल कष्टप्रद प्राप्त कर सकते हैं, लेकिन जा रहा है की समय के लिए: इसके साथ

+0

ओह, मैं पूरी तरह से समझता हूं कि यह क्या करना है, और यह वर्तमान में क्या करता है। जब मैंने शुरू किया, तो मैंने परियोजना को खत्म करने में मदद की, और तब से इसे बनाए रखा है। यह एएसपीनेट में लिखा गया था जैसे कि आप अभी भी एएसपी क्लासिक का उपयोग कर रहे थे। –

+0

यह बात 15 उपयोगकर्ता नियंत्रणों के रूप में शुरू हुई जो एक ही पृष्ठ पर लोड की गईं और उपयोगकर्ता नेविगेट किए जाने के रूप में दिखाई देने के लिए बदल दिया! उनके पास एक ही कोडबेइंड फाइलों का उपयोग करके एकाधिक एएसपीएक्स पेज भी थे और वर्तमान में फ़ाइल का उपयोग करने वाले पेज के आधार पर चुनिंदा तरीके से कहा जाता है, बस उस तरह की पागलपन। –

1

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

माइक्रोसॉफ्ट के स्रोत हमें एक ऐसी शाखा बनाने की इजाजत देता है जिसे हम काम कर सकते हैं, हम स्रोत नियंत्रण में रह सकते हैं, और हम आसानी से दोनों के बीच स्विच कर सकते हैं। (मैंने वास्तव में बहुत अधिक उपद्रव का उपयोग नहीं किया है, इसलिए मैं इस पर टिप्पणी नहीं कर सकता।)

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

सहेजने का कार्य: स्ट्रीम स्ट्रीम = फ़ाइल। खोलें (सरलपाथ, FileMode.OpenOrCreate); बाइनरीफॉर्मेटर bwriter = नया बाइनरीफॉर्मेटर(); bwriter.Serialize (स्ट्रीम, वास्तविक);

पढ़ा गया कार्य: स्ट्रीम स्ट्रीम = फ़ाइल। ओपन (सरलपाथ, फ़ाइलमोड.ऑपेन, फ़ाइल एक्सेस। पढ़ें, फ़ाइलशेयर पढ़ें।) बाइनरीफॉर्मेटर bwriter = नया बाइनरीफॉर्मेटर(); ऑब्जेक्ट रिटर्नऑब्जेक्ट = bwriter.Deserialize (स्ट्रीम);

हमने एक्सएमएल और एसक्यूएल को नकल करने के लिए एनयूनीट का उपयोग किया है।

गुड लक

1

आप के बारे में, तोड़फोड़ और सतत एकीकरण के एक ताजा उदाहरण स्थापित करने के लिए एक वीएसएस पृष्ठभूमि से हरा शुरू कर रहे हैं, इन दोनों मुक्त संकुल संभावना आप समय के दिन (या सप्ताह) की बचत होगी:

  • Visual SVN Server विंडोज ई प्रमाणन और एक व्यवस्थापक जीयूआई सहित एक तोड़फोड़ सर्वर लिए आवश्यक सब कुछ, ऊपर सेट करता है। नि: शुल्क, आप विजुअल स्टूडियो में स्रोत नियंत्रण एकीकरण के लिए अपने उत्कृष्ट VisualSVN VS एडिन का समर्थन करने पर विचार कर सकते हैं।वैकल्पिक रूप से, जेटब्रेन्स जो मुक्त व्यावसायिक संस्करण के लिए (20 उन पर निर्भर है (ReSharper, एक शानदार उपकरण, के रूप में उल्लेख के निर्माता) से AnkhSVN

  • TeamCity एक सतत एकीकरण पैकेज (CruiseControl.NET के लिए वैकल्पिक) देख सकते हैं और 3 बिल्ड सर्वर)।

इन दो संकुल के लिए सबसे आसान में से कुछ के आसपास स्थापित करता है, वीएसएस खुद को चुनौती देने :-)

SVN का उपयोग करते हुए एक छोटे से समायोजन का समय लग सकता है; लेकिन जो भी क्लाइंट आप चुनते हैं उसके लिए उत्कृष्ट डॉको के साथ (एंकएसवीएन, विजुअल एसवीएन, टोर्टोइज एसवीएन, या कुछ संयोजन), आप ठीक होंगे।

इसके अलावा, आप जहां के लिए प्रतिनिधि ;-)

1

चेक बाहर TypeMock या Rhino Mocks बदले में किसी भी प्रश्न का जवाब देने के लिए उत्सुक लोगों को खोजने के लिए पता है। जब आप यूनिट परीक्षण कर रहे हों तो मॉकिंग आपको इतना समय और दर्द बचा सकता है।

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