3 पॉइंट द्वारा GN⁺ 2023-09-28 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • 2010 में Andreas Lundblad द्वारा लिखा गया सबसे ज़्यादा कॉपी किया गया StackOverflow snippet दोषपूर्ण है।
  • यह snippet bytes की संख्या को इंसानों के पढ़ने लायक फ़ॉर्मैट में दिखाने की समस्या का समाधान है। उदाहरण के लिए, 123,456,789 bytes को "123.5 MB" के रूप में दिखाना।
  • Lundblad का समाधान loop की जगह log का उपयोग करके सही suffix (kB, MB, GB आदि) की गणना करता है।
  • इस snippet को 2018 के एक अध्ययन, जिसका शीर्षक "GitHub प्रोजेक्ट्स में Stack Overflow code snippets का उपयोग और attribution" है, में पहचाने जाने के बाद सबसे ज़्यादा कॉपी किया गया पाया गया।
  • अध्ययन में पाया गया कि अधिकतर लोग Stack Overflow से code कॉपी करते समय उचित attribution शामिल नहीं करते।
  • Lundblad के snippet में दोष यह है कि जब bytes की संख्या 1 MB के करीब पहुँचती है, तो rounding error होता है। उदाहरण के लिए, 999,999 bytes का input सही "1.0 MB" के बजाय "1000.0 kB" देता है।
  • Lundblad इस तरह की समस्या और अन्य extreme cases को संभालने वाला code का एक संशोधित version देता है। इसमें negative input और double की precision limits शामिल हैं।
  • इस लेख से मिलने वाले मुख्य सबक हैं: सभी extreme cases को test करने का महत्व, floating-point arithmetic की जटिलता, और code कॉपी करते समय उचित attribution की आवश्यकता।

1 टिप्पणियां

 
GN⁺ 2023-09-28
Hacker News की राय
  • टिप्पणियों के अनुसार, अब तक का सबसे ज़्यादा कॉपी किया गया StackOverflow snippet दोषपूर्ण है।
  • टिप्पणीकारों का कहना है कि दोषपूर्ण कोड में गैर-ज़रूरी hardcoded values और if statements का उपयोग किया गया है, जबकि इसे binary search से सरल बनाया जा सकता है।
  • कुछ टिप्पणीकार कोड में log() के दो calls, pow() का एक call, और ceil() के उपयोग पर सवाल उठाते हैं, और सुझाव देते हैं कि एक अधिक सरल तरीका ज़्यादा प्रभावी हो सकता है।
  • size को human-readable format में फ़ॉर्मैट करने के लिए वैकल्पिक libraries मौजूद हैं, जैसे Rust और .NET के लिए PrettySize library।
  • कुछ developers इस बात पर चिंता जताते हैं कि लोग StackOverflow से अविश्वसनीय कोड कॉपी करके सीधे अपने applications में paste कर देते हैं।
  • कोड में floating-point log operations और integers पर division के उपयोग को आवश्यकता से अधिक जटिल और bugs के प्रति संवेदनशील बताया गया है।
  • यह चर्चा इस बात पर ज़ोर देती है कि कॉपी किए गए snippets पर निर्भर रहने के बजाय कोड के मूल सिद्धांतों को समझना अधिक महत्वपूर्ण है।
  • टिप्पणियाँ StackOverflow जैसे समुदायों में ज्ञान-साझाकरण के व्यापक मुद्दे और गलत जानकारी फैलने की संभावना पर भी विचार करती हैं।