3 पॉइंट द्वारा GN⁺ 2024-10-01 | 1 टिप्पणियां | WhatsApp पर शेयर करें

तकनीकी ऋण का वर्गीकरण

परिचय

  • Bill "LtRandolph" Clark LoL की Champions टीम में engineering manager हैं, और तकनीकी ऋण में उनकी गहरी रुचि है.
  • तकनीकी ऋण को ऐसे code या data के रूप में परिभाषित किया जाता है जो भविष्य के developers के लिए लागत पैदा करता है.
  • इस लेख में Riot में अनुभव किए गए तकनीकी ऋण के विभिन्न प्रकारों और अंदरूनी तौर पर इस्तेमाल किए जाने वाले model का परिचय दिया गया है.

मेट्रिक्स

तकनीकी ऋण का मूल्यांकन करने के लिए तीन मुख्य axis इस्तेमाल किए जाते हैं: प्रभाव, सुधार लागत, संक्रामकता.

प्रभाव

  • तकनीकी ऋण का players और developers पर पड़ने वाला प्रभाव.
  • bug, missing feature, unexpected behavior आदि.

सुधार लागत

  • तकनीकी ऋण को ठीक करने में लगने वाला समय और risk.
  • साधारण error कुछ मिनटों में ठीक किया जा सकता है, लेकिन गहराई से जमी हुई समस्याओं में कई हफ्ते या कई महीने लग सकते हैं.

संक्रामकता

  • तकनीकी ऋण कितनी दूर तक फैल सकता है.
  • दूसरे systems के साथ interaction, data copy, और नए feature implementation पर इसका असर पड़ता है.

ऋण के प्रकार

लोकल ऋण

  • समस्या केवल system के अंदर होती है और बाहर असर नहीं डालती.
  • उदाहरण: Jarvan का Cataclysm.
Cataclysm मेट्रिक्स
  • प्रभाव: 1 / 5
  • सुधार लागत: 2 / 5
  • संक्रामकता: 1 / 5

MacGyver ऋण

  • जब दो परस्पर टकराने वाले systems को अस्थायी जुगाड़ से जोड़ा गया हो.
  • उदाहरण: C++ का std::string और Riot का AString class.
std::string vs AString मेट्रिक्स
  • प्रभाव: 2 / 5
  • सुधार लागत: 3 / 5
  • संक्रामकता: -2 / 5

बुनियादी ऋण

  • जब system की गहराई में मौजूद धारणाएं पूरे system को प्रभावित करती हैं.
  • उदाहरण: LoL में lua scripting language का उपयोग.
BlockBuilder Lua मेट्रिक्स
  • प्रभाव: 4 / 5
  • सुधार लागत: 4 / 5
  • संक्रामकता: 4 / 5

डेटा ऋण

  • जब दूसरे प्रकार के तकनीकी ऋण के ऊपर बहुत सारा content जमा हो जाने से सुधार करना कठिन और जोखिमभरा हो जाता है.
  • उदाहरण: BlockBuilder scripting language में parameter name bug.
parameter name bug मेट्रिक्स
  • प्रभाव: 2 / 5
  • सुधार लागत: 2 / 5
  • संक्रामकता: 4 / 5

सारांश

  • तकनीकी ऋण का मूल्यांकन करते समय प्रभाव, सुधार लागत और संक्रामकता को ध्यान में रखना चाहिए.
  • संक्रामकता यह दिखाती है कि तकनीकी ऋण के फैलने की संभावना कितनी है, और इसे नज़रअंदाज़ करने पर यह बड़ी समस्या बन सकती है.
  • तकनीकी ऋण को चार प्रकारों में वर्गीकृत किया जा सकता है: लोकल ऋण, MacGyver ऋण, बुनियादी ऋण, और डेटा ऋण.

GN⁺ का सार

  • यह लेख तकनीकी ऋण के प्रकारों और उनका मूल्यांकन करने के तरीकों को समझाकर developers को बेहतर निर्णय लेने में मदद करता है.
  • तकनीकी ऋण की संक्रामकता पर ज़ोर देते हुए यह बताता है कि समस्या का जल्दी समाधान करना महत्वपूर्ण है.
  • समान कार्यक्षमता वाले अन्य projects में Dota 2 और Overwatch शामिल हैं.

1 टिप्पणियां

 
GN⁺ 2024-10-01
Hacker News राय
  • इंटरफ़ेस डिज़ाइन के सबसे महत्वपूर्ण तत्वों में से एक है, और इस पर सावधानी से विचार किया जाना चाहिए

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

    • कई देशों के founding documents भी इस श्रेणी में आते हैं
  • यह आश्चर्यजनक है कि यह लेख एक engineering manager द्वारा लिखा गया है

    • अंदर से प्रमोट हुए मैनेजर नहीं हैं, और बाहर से hiring करने की प्रवृत्ति है
  • technical debt के classification पर चर्चा की गई है

  • तकनीकी दृष्टिकोण से यह एक शानदार लेख है

    • "nomenclature" शायद अधिक उपयुक्त अभिव्यक्ति हो सकती है
    • हर उदाहरण काफ़ी सोचने पर मजबूर करता है
  • technical debt को समझाने के लिए "Contagion" का उपयोग किया गया है

    • यह बेहतरीन व्याख्या है
  • technical debt को ऐसे code या data के रूप में परिभाषित किया गया है जिसकी कीमत भविष्य के डेवलपर्स को चुकानी पड़ती है

    • debt बनाते समय तत्काल ज़रूरत और भविष्य की लागत के बीच संतुलित विचार होना चाहिए
    • debt के प्रति रोगात्मक घृणा है
  • मैं "local debt" को सामान्य स्थिति में technical debt नहीं कहूँगा

    • कहीं न कहीं हमेशा कुछ भ्रम रहेगा, और उसे encapsulate करना सामान्य बात है
  • कई startups में काम करने का अनुभव है

    • संस्थापक अक्सर विचार, वास्तव में लागू की गई चीज़, और जो हिस्सा काम कर रहा है, इनके बीच भ्रमित हो जाते हैं
  • कभी-कभी अल्पकालिक लाभ के लिए जानबूझकर technical debt लिया जाता है

    • इस लाभ को भी एक अलग axis पर विचार करना चाहिए