मुख्य सामग्री पर जाएँ
डेवलपर्स के लिए

कोड के पीछे की सोच, कोड के ही बग़ल में रखी हुई

हर कोडबेस का एक आधा हिस्सा लोगों के दिमाग़ में रहता है: रीट्राई की यही गिनती क्यों, यह फ़ॉलबैक क्यों, और जो तरीक़ा साफ़ दिख रहा था उसे ठुकराया क्यों गया। वे लोग जाते हैं तो वह हिस्सा भी साथ चला जाता है।

बीस भाषाएँ, कोड की तरह इंडेक्स

सिंबल और उनके बीच के कॉल उसी ग्राफ़ में जाते हैं जिसमें आपके नोट्स हैं — किसी अलग खोज-बक्से में नहीं। फ़ैसले वाला नोट और उससे निकला फ़ंक्शन आख़िर में पड़ोसी बन जाते हैं, क्योंकि वे हैं भी यही।

git का इतिहास नोट्स के बग़ल में इंडेक्स होता है

क्या बदला, कब बदला, और उस वक़्त उसके बारे में क्या लिखा गया — सब एक ही सवाल में हाथ आ जाता है। कमिट बताता है कि हुआ क्या; नोट बताता है कि क्यों; अकेले दोनों में से कोई ख़ास काम का नहीं।

कुछ छूने से पहले ही, बदलाव की मार का दायरा

पूछिए कि किसी सिंबल पर क्या-क्या टिका है, और जवाब ग्राफ़ से आता है — उस टेक्स्ट खोज से नहीं जो नाम का ज़िक्र करने वाली हर टिप्पणी उठा लाती है। यह ठीक तब काम आता है जब कोड आपका जाना-पहचाना नहीं होता, यानी ठीक तब जब इसकी ज़रूरत होती है।

यह दिखता कैसा है

एक सेवा आपके ज़िम्मे आती है, और उसमें एक बेवजह संख्या पड़ी मिलती है

सात रीट्राई। कोई टिप्पणी नहीं। git blame एक ऐसे कमिट पर ले जाता है जिस पर लिखा है “fix flakiness”।

आप पूछते हैं कि रीट्राई की गिनती सात क्यों है। जवाब अठारह महीने पुराने एक फ़ैसले वाले नोट का हवाला देता है — भार के नीचे उस स्टोर का अपना टाइमआउट छह सेकंड नापा गया था, सात रीट्राई सबसे बुरे देखे गए मामले को थोड़ी गुंजाइश के साथ ढक लेती थीं, और तीन पर लाते ही वही ख़राबी लौट आई थी — और उसके बग़ल में वह फ़ंक्शन भी है जो इसे लागू करता है और वह टेस्ट भी जो इसे बाँधे रखता है।

अब आपको पता है कि इसे बदला जा सकता है या नहीं। इसके बिना रास्ता यही था: बदलिए, भेज दीजिए, और फिर पता चलेगा।

कुछ भी असली सौंपने से पहले

क्या मैं इसे अपने डेटा के साथ इस्तेमाल कर सकता हूँ?

ढूँढ़ने का काम आपकी मशीन पर। जवाब वहाँ बनता है जहाँ आप इशारा करें।

सही अंश ढूँढ़ना हमेशा आपकी अपनी मशीन पर होता है। उसके बाद क्या हो, यह आपका चुनाव है: कोई क्लाउड मॉडल जोड़िए और चुने हुए अंश उसी सेवा तक जाते हैं — ठीक वैसे ही जैसे आप उन्हें ख़ुद चिपकाकर भेजते। इसे अपनी ही मशीन पर चल रहे मॉडल पर लगाइए और कुछ भी बाहर नहीं जाता। दूसरा विकल्प आज मौजूद है, और यही वह चीज़ है जो “हमारा डेटा प्रोसेस कहाँ होता है?” को “आपके अपने उपकरण पर” में बदल देती है।