प्रश्न स्पष्ट रूप से एक बड़े, जटिल वीबी 6/COM अपग्रेड के लिए "वीबी 6.0 से अपग्रेड करने के लिए सर्वश्रेष्ठ विकास उपकरण" और सी # या वीबी.नेट के बारे में जानकारी के बारे में जानकारी मांग रहा है।
एक परिपूर्ण "रूपांतरण" उपकरण में मदद मिलेगी आप हर की दो महत्वपूर्ण लक्ष्यों को पूरा उन्नयन
- कार्यक्षमता संरक्षण
- एक तरह से जो आपके इच्छित कोडिंग और मंच निर्भरता मानकों का पालन में नेट का लाभ उठाते हुए
कार्यक्षमता
संरक्षण में उपकरण की भूमिका
बड़े, परिपक्व विरासत प्रणालियों में हजारों कोड फ़ाइलें और कोड की लाखों लाइनें हो सकती हैं। उस कोड में शामिल कार्यक्षमता को पूरी तरह से वर्णन और सत्यापित करने के लिए आवश्यक प्रयास भारी है। असल में, इतना कार्यात्मक काम हो सकता है कि कुछ तकनीकी दिमागी टीम इसे पहले देखने में असफल हो जाते हैं। वे अपने अधिकांश समय को नवीनतम .NET डिज़ाइन, भाषा और फ्रेमवर्क सुविधाओं का लाभ उठाने के बारे में चिंता करते हैं, इससे पहले कि वे पूरी तरह से सराहना करते हैं कि विरासत कार्यक्षमता को संरक्षित और सत्यापित करना कितना मुश्किल होगा। ऐसा लगता है कि वे छोटी तकनीकी मछली पकड़ने के बारे में चिंतित होने पर एक बड़ी कार्यक्षमता व्हेल के पीछे से मछली पकड़ रहे हैं।
टीम जो मैन्युअल रूप से पढ़ने, व्याख्या करने और इसे रीडोड करके कोड के पहाड़ को पुन: पेश करने का प्रयास करती हैं, प्रक्रिया में अंधेरा हो सकती है ... इसलिए किसी भी रूपांतरण उपकरण की एक महत्वपूर्ण विशेषता टीम को पढ़ने, व्याख्या करने और फिर से लिखने में मदद करने के लिए है कोड को फिर से लिखने के दौरान कोड जो इसके अर्थशास्त्र को संरक्षित करता है। कंप्यूटर वैज्ञानिकों ने व्याख्यान पढ़ने की समस्या का अध्ययन किया है, और 60 से अधिक वर्षों के लिए स्रोत कोड को फिर से लिखना और उनके साथ आने वाले समाधान को संकलक कहा जाता है। एक प्रभावी कोड "कनवर्टर" एक कंपाइलर की तरह काम करता है।
वीबी 6 एक उच्च स्तरीय भाषा है: माइक्रोसॉफ्ट वीबी 6 कंपाइलर और इसके रनटाइम ने असंख्य चीजों को स्पष्ट रूप से किया: प्रबंधन प्रकार अनुमान, अंतर्निहित रूपांतरण, रेफरी, देर से बाध्य कॉल से निहित, नल से निपटने, गोटो-स्टाइल त्रुटि प्रबंधन, डिजाइनिंग रूप, आदिएक वीबी 6 कनवर्टर भी कोड में स्पष्ट रूप से स्पष्ट रूप से असंख्य छोटे विवरणों को पहचानने और स्टोर करने में सक्षम होना चाहिए और यह .NET में उन विवरणों को सही ढंग से व्यक्त करने में सक्षम होना चाहिए। एक औद्योगिक ताकत रूपांतरण उपकरण में एक शक्तिशाली, एक्स्टेंसिबल वीबी 6 धातुभाषा प्रणाली होगी जो उपयोगकर्ता को यह नियंत्रित करने की अनुमति देती है कि वीबी 6 कोड कैसे पहचाना जाता है और व्याख्या की जाती है।
वीबी 6 भी COM के माध्यम से आसानी से एक्स्टेंसिबल है। उपयोग में कई सैकड़ों अलग-अलग COM API हैं, और यह उन सभी घरों के घटकों की गणना नहीं कर रहा है जो आमतौर पर एंटरप्राइज़ सिस्टम का हिस्सा बन जाते हैं। कनवर्टर यूआई डिज़ाइन और कोड दोनों में वीबी 6 द्वारा उपयोग की जाने वाली किसी भी COM क्लास या नियंत्रण को पहचानने में सक्षम होना चाहिए और इसे किसी अन्य उपयुक्त .NET API या इंटरऑप का उपयोग करके व्यक्त करना चाहिए। एक उपकरण जिसे मैं जानता हूं वो भी वीबी 6 में COM उपयोग जानकारी से .NET कोड ढांचा उत्पन्न कर सकता है। एक औद्योगिक ताकत रूपांतरण उपकरण में एक शक्तिशाली COM प्रकार प्रणाली होगी जो एक्स्टेंसिबल है और उपयोगकर्ता को नियंत्रित करने की अनुमति देता है कि जेनरेट कोड में COM को कैसे बदला जाता है।
नेट
VB6 और नेट का लाभ उठाते हुए में उपकरण की भूमिका कई मायनों में अलग हैं और इसलिए विभिन्न एपीआई कि दो प्लेटफार्मों का समर्थन कर रहे हैं। तो, उपकरण या बिना, लगभग हमेशा कुछ पुनः डिजाइन आवश्यक होगा। इसके अलावा, प्रत्येक टीम अपनी परियोजना के लिए अलग-अलग प्राथमिकताओं, बाधाओं और आवश्यकताओं को लाती है: 10 प्रोग्राम पूछें कि कुछ कैसे कोड करें और आपको कम से कम 10 अलग-अलग उत्तर मिलेंगे। कनवर्टर टीम को अपनी अनूठी प्राथमिकताओं, बाधाओं और आवश्यकताओं को व्यक्त करने में मदद करनी चाहिए। इसमें संसाधित होने से पहले वीबी 6 कोड को संशोधित करने, दोहराने के बाद .NET कोड को संशोधित करने, हाथ लिखित कोड को एकीकृत करने, कस्टम एपीआई प्रतिस्थापन का वर्णन करने, कस्टम कोड पुनर्गठन को निर्देशित करने और कई अन्य विभिन्न गतिशील और प्रोजेक्ट करने के लिए दोहराए जाने योग्य, स्वयं-दस्तावेज माध्यमों को प्रदान करने का अर्थ शामिल है। आवश्यकतानुसार विशिष्ट परिवर्तन।
यह सब एक साथ
एक बड़ी उन्नयन शायद ही कभी पूरी तरह से भविष्यवाणी की और अग्रिम में की योजना बनाई है लाना। यहां तक कि स्रोत कोड और वांछित .NET कोडिंग मानकों दोनों के व्यापक ज्ञान के साथ, काम के दौरान उभरने वाली कई समस्याएं और अवसर भी होंगे। अपग्रेड प्रोजेक्ट के दौरान स्रोत कोड और आवश्यकताओं को बदलने की अनुमति दी जानी चाहिए। क्या आवश्यक है एक फुर्तीली पद्धति है जो टीम को स्रोत कोड परिवर्तनों को अनुकूलित करने, विभिन्न .NET कोडिंग तकनीकों के साथ प्रयोग करने, आवश्यकताओं की गहरी समझ का जवाब देने और समय के साथ अपनी स्वचालित अपग्रेड प्रक्रिया में वृद्धि करने की अनुमति देती है। एक औद्योगिक ताकत रूपांतरण उपकरण में इस प्रकार की पद्धति को सक्षम करने के लिए सटीकता, सटीकता, लचीलापन और गति होगी।
रूपांतरण टूल के बारे में एक और टिप्पणी। सबसे महत्वपूर्ण "टूल" जिसका उपयोग आप .NET अपग्रेड में करेंगे, वह आपका दिमाग है। आपको .NET भाषाएं, डिज़ाइन-पैटर्न और ढांचे को सीखना होगा और अपने अपग्रेड प्रयास में जो भी पता है उसे लागू करें। सबसे अच्छा स्वचालित उपकरण आपके कोड को फिर से लिखने का निर्णय नहीं लेता है: यह आपके द्वारा तय किए गए डिज़ाइन के अनुसार विरासत कार्यक्षमता को फिर से कार्यान्वित करने में आपकी सहायता करता है।
माइक्रोसॉफ्ट इस आलेख में कई टूल सुझाता है। VB6 Upgrade Partner Tools
VB.NET या सी #
जब मैं नेट समुदाय से संपर्क करें (यानी वेब पर खोज) जानकारी, उपकरण, विचारों, कोड के लिए, और प्रोग्रामिंग की समस्याओं के साथ मदद, मैं भी बहुत कुछ करने की संभावना है VB.NET की तुलना में सी # में व्यक्त उत्तरों को खोजें। मुझे यह भी पता चलता है कि सी # कंपाइलर एक उपकरण-समर्थित पुनर्लेखन के लिए एक बेहतर फिट है क्योंकि इसे जेनरेट कोड को आंतरिक रूप से सुसंगत और स्पष्ट रूप से वर्णित करने की आवश्यकता होती है। निर्माण प्राप्त करना और रख-रखाव कुछ हद तक कच्चे, लेकिन किसी भी अपग्रेड प्रयास में कोड गुणवत्ता की एक महत्वपूर्ण मील का पत्थर और महत्वपूर्ण मील का पत्थर है। याद रखें कि वीबी.नेट वीबी 6 नहीं है।यह स्पष्ट लगता है, लेकिन यह ध्यान में रखना मुश्किल हो सकता है क्योंकि दो भाषा समान दिखती हैं। यह समानता धोखा दे सकती है; इसलिए आईएमओ सी # पर जाना बेहतर है जहां आपको याद दिलाया जाता है कि नियम अलग हैं। अंत में, सी # हमेशा रहा है और .NET के लिए डिज़ाइन किया गया है; वीबी.नेट ऐसा नहीं कह सकता है।
अस्वीकरण: मैं ग्रेट माइग्रेशन के लिए काम करता हूं। चर्चा करने के लिए बहुत कुछ है। कृपया अधिक लेखों के लिए Great Migrations Documentation Portal पर जाएं और gmStudio परीक्षण प्राप्त करें और अपने लिए औद्योगिक ताकत अपग्रेड टूल आज़माएं।
एक पुनर्लेखन शुरू करने से पहले: पहले एक दृढ़ अनुमान है - शायद एक गाइड के रूप में वीबी 6 कोड की लाइनों की संख्या का उपयोग करें। और सुनिश्चित करें कि आपका प्रबंधन पूरी तरह से बोर्ड पर है। और मामले में बस कुछ संघर्ष समाधान प्रशिक्षण ले लो :) मैंने इस तरह की सड़कों को शुरू कर दिया है और कुछ असहज स्थानों पर पहुंचा है। – MarkJ