अच्छी समस्या लिखना

सभी बेहतरीन प्रोजेक्ट, लोगों के सुझावों, राय या शिकायतों के आधार पर बनाए जाते हैं. फ़ीडबैक ट्रैक करने के लिए, ब्लॉकली में GitHub की समस्याओं का इस्तेमाल किया जाता है. इस पेज पर ऐसी समस्या लिखने का तरीका बताया गया है जिसे डेवलपर आसानी से पढ़ सकता है और उसका जवाब दे सकता है. इससे इस बात की संभावना बढ़ जाती है कि आपकी गड़बड़ी की रिपोर्ट/सुविधा के अनुरोध पर ध्यान दिया जाएगा!

सेशन की तैयारी

क्या आपको इस बारे में कुछ और पूछना है?

हमें आपके सवाल जानकर अच्छा लगता है! हालांकि, GitHub की समस्याएं उनके लिए बहुत अच्छा नहीं है. अगर आपका कोई सवाल है, तो हमारे डेवलपर फ़ोरम पर जाएं. अगर सवाल पूछा जाता है, तो आपको समय पर और सही जवाब मिल सकता है. इसकी वजह यह है कि इसमें ब्लॉकली का इस्तेमाल कई सालों से करने वाले डेवलपर मौजूद हैं!

डुप्लीकेट की जांच करें

किसी भी तरह की समस्या लिखने से पहले, यह देख लेना अच्छा होता है कि क्या उससे मिलती-जुलती कोई समस्या पहले से मौजूद है. अगर कोई जवाब सही तरीके से लिखा जाता है, तो इससे आपको उसे खुद लिखने की ज़रूरत नहीं होगी! इसलिए, लिखना शुरू करने से पहले, डुप्लीकेट या उनसे जुड़ी समस्याओं के लिए कुछ खोज कर लें.

अगर आपको मिलती-जुलती कोई समस्या मिलती है, तो उस पर थंब्स अप का इस्तेमाल करें या अपने विचारों के बारे में पूरी जानकारी देते हुए टिप्पणी करें. यह गड़बड़ी की रिपोर्ट और सुविधा के अनुरोधों के लिए खास तौर पर ज़रूरी है. अगर डेवलपर को लगता है कि किसी समस्या पर ज़्यादा ध्यान दिया जा रहा है, तो उस पर काम करने की संभावना ज़्यादा होगी!

किसी बग की रिपोर्ट करें

तो क्या आपको लगता है कि आपको एक गड़बड़ी का पता चला है? बढ़िया! हमें बग रिपोर्ट सुनना बहुत अच्छा लगता है, क्योंकि हम चाहते हैं कि यह प्रोजेक्ट ज़्यादा से ज़्यादा स्थिर हो. यहाँ कुछ चरण दिए गए हैं जिनका पालन करके गड़बड़ी को ठीक किया जा सकता है.

  1. डुप्लीकेट की जांच करना
  2. सबूत इकट्ठा करें
  3. समस्या का पता लगाएं
  4. अपने कॉन्टेंट को मज़बूत बनाना
  5. कोई वजह बताएं
  6. अपनी समस्या लिखें!

साक्ष्य इकट्ठा करें

आम तौर पर, गड़बड़ी के बारे में जितनी ज़्यादा जानकारी होगी उतना ही बेहतर होगा. यहां कुछ ऐसी चीज़ें दी गई हैं जो शायद आप देना चाहें:

  • अगर किसी गड़बड़ी की वजह से देखने में कोई समस्या आती है, तो स्क्रीनशॉट या GIF बहुत मददगार हो सकते हैं.
  • अगर कोई गड़बड़ी, सिर्फ़ खास तरह के ब्लॉक या फ़ाइल फ़ोल्डर के कॉन्फ़िगरेशन पर असर डालती है, तो सैंपल कोड इस्तेमाल किया जा सकता है.
  • अगर आपको अपने खास परिवेश से बाहर बग की समस्या दोबारा पैदा करने में समस्या हो रही है, तो होस्ट की गई साइट बेहतरीन विकल्प है.

समस्या का पता लगाएं

कोर लाइब्रेरी, प्लगिन, उदाहरणों, और कोडलैब के बीच, हमारे पास ब्लॉकली कई कोड मौजूद हैं. हमें बताएं कि आपकी समस्या कहां है.

अगर समस्या कोर में है, तो कौनसा कॉम्पोनेंट? उदाहरण के लिए, टूलबॉक्स या ज़ूम कंट्रोल या लाइब्रेरी ब्लॉक में कोई समस्या हो सकती है. सटीक जानकारी दें.

अगर समस्या ब्लॉकली सैंपल में है, तो पता लगाएं कि वह किस प्लगिन, कोडलैब या उदाहरण में है. अगर आपको एक ही बग कई जगहों पर मिलता है, तो हमें उसके बारे में भी बताएं.

अपने कॉन्टेंट को बेहतर तरीके से पेश करना

किसी गड़बड़ी को सिर्फ़ तब ठीक किया जा सकता है, जब उसे दोबारा जनरेट किया जा सकता हो. इसलिए, कोई गड़बड़ी सबमिट करने से पहले, यह पक्का कर लें कि आपके पास गड़बड़ी को सामने लाने का एक मज़बूत तरीका हो.

आखिर में आपको चरणों की नंबर वाली सूची मिलेगी, जो डेवलपर को बताएगी कि बग को कैसे दोहराना है. उदाहरण के लिए:

  1. X कोडलैब खोलें.
  2. Y पेज पर जाएं.
  3. Z उदाहरण कोड चलाएं.
  4. बुरे व्यवहार पर ध्यान दें, जो W की तरह दिखता है.

अगर आपकी समस्या ब्लॉकली कोर में है, तो इसे playground में फिर से बनाने की कोशिश करें.

कोई वजह बताएं

अगर आपको लगता है कि आपको पता है कि गड़बड़ी क्यों हो रही है, तो हमें वह जानकारी भी शामिल करें. फिर से, ज़्यादा से ज़्यादा सटीक जानकारी दें.

अपनी समस्या लिखें!

गड़बड़ी की रिपोर्ट लिखने का समय आ गया है. अपना डेटा स्टोर करने की जगह चुनें:

समस्या टेंप्लेट के सभी सेक्शन भरना न भूलें. इनमें वे सेक्शन भी शामिल हैं जिनके बारे में यहां जानकारी नहीं दी गई है.

गड़बड़ी की शिकायत करने में दिलचस्पी दिखाने के लिए धन्यवाद. आपको ईमेल लिखते समय खुशी होगी!

अगला चरण?

  • गड़बड़ी की रिपोर्ट को प्राथमिकता के हिसाब से अपने-आप टैग कर दिया जाता है.
  • ब्लॉकली टीम का ऑन-कॉल सदस्य एक बार देखेगा और शायद उसे आसान तरीके से पूछने वाले सवाल पूछेगा. वे लेबल भी जोड़ेंगे जिनका इस्तेमाल हम अपनी गड़बड़ियों को व्यवस्थित रखने के लिए करते हैं.
  • इस समस्या को "मदद चाहिए" के तौर पर मार्क किया जा सकता है. इस स्थिति में, आपके पास इसका दावा करने और इस पर काम शुरू करने का विकल्प होता है.
  • इस समस्या को ठीक करने के लिए, Blockly की टीम के किसी सदस्य को असाइन किया जा सकता है.
  • समस्या को हर तीन महीने में एक माइलस्टोन के तौर पर मार्क किया जा सकता है, ताकि यह पता चल सके कि यह कार्रवाई कब पूरी होगी.
  • इस समस्या को आइसबॉक्स माइलस्टोन में शामिल किया जा सकता है. इसका मतलब है कि आने वाले समय में हम इस पर काम नहीं करना चाहते.
    • ऐसा, कम फ़्रीक्वेंसी वाली समस्याओं या उन गड़बड़ियों की वजह से हो सकता है जिनके बारे में हमें जानकारी है.
    • हालांकि, आइसबॉक्स किए गए कॉन्टेंट से जुड़ी समस्याओं पर अब भी काम किया जा सकता है.
  • इस समस्या को बग बैश बैकलॉग माइलस्टोन में देखा जा सकता है. इसका मतलब है कि यह ज़रूरी नहीं है, लेकिन हमें फिर भी इसे ठीक करना है.
    • हर तिमाही के आखिर में टीम, बग बैश बैकलॉग माइलस्टोन से मिली गड़बड़ियों पर काम करने के लिए कुछ हफ़्ते बिताती है.
  • ज़रूरत पड़ने पर, इस समस्या को ब्लॉकली कोर से ब्लॉकली सैंपल (या उलटी दिशा) में ले जाया जा सकता है.
  • शायद यह समस्या हल हो गई हो.

सुविधा का अनुरोध

क्या ऐसा कुछ है जिसे ब्लॉकली को बेहतर बनाने के लिए बदलना है? क्या आपके पास प्लगिन, उदाहरण या कोडलैब के लिए कोई आइडिया है? शायद इनमें से कोई एक पहले से ही आपकी पसंद का हो और आपने उसे बेहतर बनाने का कोई तरीका दिया हो. अगर हां, तो आप बिलकुल सही जगह पर हैं! यहां एक बेहतरीन सुविधा का अनुरोध करने के लिए यह तरीका दिया गया है. इस सुविधा का इस्तेमाल करके ऐसे अनुरोध किए जा सकते हैं, जिन्हें जल्द से जल्द जवाब मिल जाता है.

  1. डुप्लीकेट की जांच करना
  2. ज़रूरी शर्तें देखें
  3. अपने विचार इकट्ठा करें
  4. सुविधा का अनुरोध लिखें!

ज़रूरी शर्तें देखें

हम हर एक आइडिया को, डेटा स्टोर करने की इस जगह पर डालने की अनुमति देना चाहेंगे! अफ़सोस की बात यह है कि हम सिर्फ़ इंसान हैं. इसलिए, हमने इस बारे में कुछ दिशा-निर्देश तय किए हैं कि हम किस तरह के अनुरोध करेंगे.

प्रोजेक्ट की हर अलग-अलग कैटगरी के लिए दिशा-निर्देश यहां दिए गए हैं:

  • ब्लॉकी कोर
  • प्लगिन
  • उदाहरण: यह दिखाएं कि ब्लॉक करने की सुविधा वाली सिर्फ़ एक या दो सुविधाएं कैसे इस्तेमाल की जा सकती हैं.
  • कोडलैब: किसी एक टास्क को पूरा करने या कोई खास तरीका लागू करने का तरीका दिखाएं.

हालांकि, ये नियम मुश्किल और तेज़ नहीं हैं. इनका मकसद, किसी सुविधा के अनुरोध पर समय देने से पहले आपको यह बताना है कि हम क्या ढूंढ रहे हैं.

अगर आपको पक्के तौर पर नहीं पता कि कोई चीज़ सही है या नहीं, तो उसे हमारे डेवलपर फ़ोरम पर पोस्ट करके देखें. याद रखें कि भले ही आपका आइडिया स्वीकार न किया गया हो, लेकिन हम चाहते हैं कि आप इसे तीसरे पक्ष के प्लगिन या ट्यूटोरियल के तौर पर बनाएं!

अपने विचार इकट्ठा करें

सबमिट करने से पहले, आपका आइडिया चीज़ों और डायग्राम के साथ 100% आकर्षक होना ज़रूरी नहीं है, लेकिन आपको इस बारे में अच्छी तरह पता होना चाहिए कि आपको क्या चाहिए. लिखना शुरू करने से पहले, इन बातों पर ध्यान दें:

  • मुझे यह सुविधा क्यों चाहिए?
  • क्या इस सुविधा से किसी समस्या को हल किया जा सकता है?
  • इस सुविधा को इस्तेमाल करने के लिए टारगेट ऑडियंस कौन है?
  • यह सुविधा उनके लिए क्यों उपलब्ध है?
  • ऐसे कौनसे दूसरे विकल्प हैं जिनकी मदद से भी ऐसा किया जा सकता है?

इन चीज़ों को समझ लेने के बाद, आपको एक अच्छी सुविधा का अनुरोध करने में मदद मिलेगी!

अपनी सुविधा का अनुरोध लिखें!

अब आप सुविधा का अनुरोध लिखने के लिए तैयार हैं. अपना डेटा स्टोर करने की जगह चुनें:

समस्या टेंप्लेट के सभी सेक्शन भरना न भूलें. इनमें वे सेक्शन भी शामिल हैं जिनके बारे में यहां जानकारी नहीं दी गई है.

सुविधा का अनुरोध सबमिट करने में दिलचस्पी दिखाने और समस्या लिखने के लिए आपका धन्यवाद!

अगला चरण?

  • सुविधा के आपके अनुरोध को प्राथमिकता के हिसाब से अपने-आप टैग कर दिया जाता है.
  • ब्लॉकली टीम का ऑन-कॉल सदस्य एक बार देखेगा और शायद उसे आसान तरीके से पूछने वाले सवाल पूछेगा. वे लेबल भी जोड़ेंगे जिनका इस्तेमाल हम अपनी गड़बड़ियों को व्यवस्थित रखने के लिए करते हैं.
  • इस सुविधा को "सहायता चाहिए" के तौर पर मार्क किया जा सकता है. इस स्थिति में, आपके पास इस पर दावा करने और इस पर काम शुरू करने का विकल्प होता है.
  • यह सुविधा ब्लॉकली टीम के किसी सदस्य को असाइन की जा सकती है, ताकि इसे लागू किया जा सके.
  • ज़रूरत पड़ने पर, सुविधा के अनुरोध को ब्लॉकली कोर से ब्लॉकली सैंपल (या दूसरी तरफ़ से) में ले जाया जा सकता है.
  • इस सुविधा के अनुरोध को बंद किया जा सकता है. इस स्थिति में, आपके पास इसे तीसरे पक्ष के प्लगिन के तौर पर लागू करने का विकल्प अब भी होता है.