HeadlinesBriefing favicon HeadlinesBriefing.com

फ़ंक्शन तर्क बनाम रंग

Hacker News •
×

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

हालाँकि, यदि सभी पैरामीटर रंग होते, तो यह अवधारणा फ़ंक्शनों के 50+ वर्षों बाद आविष्कार नहीं होती। Async की एक अलग प्रकृति है जिसे पकड़ने योग्य है। स्पष्ट करने के लिए, एक परिवर्तन निर्भरता ग्राफ पर विचार करें: कॉल स्टैक में गहरे फ़ंक्शन विशेषता को बदलना कॉल करने वालों को तीन तरीकों से प्रभावित कर सकता है: कोई कॉलर परिवर्तन नहीं, प्रत्यक्ष कॉलर परिवर्तन, या स्टैक में सभी फ़ंक्शन परिवर्तन।

एक रंग ऊपर के सभी फ़ंक्शनों को प्रतिक्रिया करने के लिए मजबूर करता है, जबकि एक सामान्य परिवर्तन केवल कॉलर तक फैलता है और पकड़ा जा सकता है। व्यवहार में, फ़ंक्शन श्रृंखला को तोड़ते हैं, उच्च फ़ंक्शनों को निचले परिवर्तनों से अलग करते हैं। संरचित प्रोग्रामिंग परिवर्तनों को अलग करने के लिए मौजूद है, और यदि हर पैरामीटर परिवर्तन पूरे स्टैक में परिवर्तनों को मजबूर करता, तो यह अप्रबंधनीय होता।