तकनीकी ऋण का वर्गीकरण (2018)
(technology.riotgames.com)तकनीकी ऋण का वर्गीकरण
परिचय
- 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 काAStringclass.
std::string vs AString मेट्रिक्स
- प्रभाव: 2 / 5
- सुधार लागत: 3 / 5
- संक्रामकता: -2 / 5
बुनियादी ऋण
- जब system की गहराई में मौजूद धारणाएं पूरे system को प्रभावित करती हैं.
- उदाहरण: LoL में
luascripting 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 टिप्पणियां
Hacker News राय
इंटरफ़ेस डिज़ाइन के सबसे महत्वपूर्ण तत्वों में से एक है, और इस पर सावधानी से विचार किया जाना चाहिए
फ़ाउंडर debt वह debt है जिसे संस्थापक तेज़ और अच्छे तकनीकी समाधान देने के लिए बनाते हैं
यह आश्चर्यजनक है कि यह लेख एक engineering manager द्वारा लिखा गया है
technical debt के classification पर चर्चा की गई है
तकनीकी दृष्टिकोण से यह एक शानदार लेख है
technical debt को समझाने के लिए "Contagion" का उपयोग किया गया है
technical debt को ऐसे code या data के रूप में परिभाषित किया गया है जिसकी कीमत भविष्य के डेवलपर्स को चुकानी पड़ती है
मैं "local debt" को सामान्य स्थिति में technical debt नहीं कहूँगा
कई startups में काम करने का अनुभव है
कभी-कभी अल्पकालिक लाभ के लिए जानबूझकर technical debt लिया जाता है