2009-11-07 23 views
5

मुझे कल नेट फ्रेमवर्क में एक बग मिला और पाया कि यह एक ज्ञात बग है जिसे ठीक नहीं किया जाएगा। संक्षेप में बग है कि एक वर्ग है कि प्रकार IComparable के एक क्षेत्र शामिल हैं द्विआधारी धारावाहिक नहीं हो सकता है और deserialized कर सकते हैं जब किसी पूर्णांक (और संभवतः अन्य द्विआधारी प्रकार) है कि क्षेत्र में रख दिया जाता है:क्या यह बग ठीक किया जाना चाहिए?

[Serializable] 
public class Foo 
{ 
    public IComparable Value; 
} 

आप का प्रयास करें क्रमानुसार करने (और deserialize) निम्नलिखित दो वस्तुओं पहले एक सफल होगा और दूसरा एक असफल हो जायेगी: http://ondevelopment.blogspot.com/2009/11/fix-that-bug-will-ya-no.html

और बग रिपोर्ट आप यहाँ पा सकते हैं:

var s = new Foo { Value = "foo" }; 
var i = new Foo { Value = 1 }; 

मैं और अधिक विस्तार यहाँ में इस का वर्णन (ध्यान दें कि यह रिपोर्ट 2006 से है और मेरे द्वारा दायर नहीं किया गया है): http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=91177

यह तय नहीं किया जाएगा क्योंकि "फिक्स का जोखिम इसके लाभ से अधिक है"। मैं किसी भी (फीसबल) परिदृश्य को देखने में असफल रहा जहां यह एक तोड़ने वाला बदलाव होगा। तो मेरा वास्तविक सवाल यह है कि क्या कोई वास्तविक परिदृश्य के बारे में सोच सकता है जहां यह एक तोड़ने वाला परिवर्तन होगा?

+0

यह मोनो/जीएमसीएस 2.0.1 के साथ सही ढंग से काम करता है। – Thomas

+0

@ थॉमस, यह दिलचस्प है। असल में यह मोनो टीम के साथ एक बग के रूप में दायर किया जा सकता है, जहां तक ​​मुझे पता है कि वे बीसीएल में बग को दर्पण करने का प्रयास करते हैं। –

+0

माइक्रोसॉफ्ट कभी भी अपने किसी भी सिस्टम में बदलाव करने पर बड़ा नहीं रहा है जो पुराने सामान (नरक, ऑपरेटिंग सिस्टम के ब्लोट) पर निर्भर किसी भी पूर्व-मौजूदा सॉफ्टवेयर को संभावित रूप से तोड़ सकता है। मेरा मानना ​​है कि आपको यह तय करने के लिए वास्तव में पूरी कंपनी को किसी भी तरह बदलना होगा। – Esko

उत्तर

1

मैं किसी भी (feesible) परिदृश्यों देखने के लिए जहां यह एक तोड़ने परिवर्तन

मुझे नहीं लगता कि किसी भी जानबूझकर तोड़ने बदलाव नहीं किया जाएगा होगा असफल है, लेकिन अन्य फिक्सिंग कीड़े में शामिल जोखिम देखते हैं जो रिग्रेशन पेश कर सकता है।

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

+0

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

+0

"मैं एक ऐसे परिदृश्य के साथ नहीं आ सकता जहां यह एक तोड़ने वाला परिवर्तन है" - सीरियलाइजेशन कैसे कार्यान्वित किया जाता है इसके आंतरिक हैं जटिल हैं, और आपको यह समझने के लिए परिदृश्य के साथ आने की आवश्यकता नहीं है कि जटिल कोड को बदलने का जोखिम है। – Joe

+0

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

2

मेरी शर्त यह होगी कि उन्होंने देशी प्रकारों के क्रम में सीरियलाइजेशन या सिस्टम के अन्य हिस्सों के मामले में कुछ बहुत ही उन्नत अनुकूलन किए हैं।

पूर्ववत करना यह जोखिम भरा हो सकता है कि यह शुद्धता या प्रदर्शन प्रतिगमन, या दोनों हो सकता है।

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