मेरे बॉस हमारे कोड की एक पंक्तिबद्ध पंक्ति-दर-पंक्ति अंग्रेजी व्याख्या चाहते हैं


155

मुझे विशेष रूप से लाइन द्वारा लाइन देने के लिए कहा गया है (या उपयुक्त के रूप में - उदाहरण के लिए, छवि द्वारा छवि, आदि) स्पष्टीकरण या टिप्पणी जो मेरे मालिक को पढ़ने और पालन करने में सक्षम होना चाहते हैं।

चूंकि वह एक प्रोग्रामर नहीं है, इसलिए वह कोड का पालन नहीं कर सकता है, इसलिए यह सभी अंग्रेजी में अनुवाद करना चाहता है।

क्या किसी को इससे पहले ऐसा करने के लिए कहा गया है?

मैंने सभी स्रोत कोड पर टिप्पणी की है और JSDoc का उपयोग सभी कार्यों, चर, आदि का पूर्ण प्रलेखन उत्पन्न करने के लिए किया है ... और इसमें एक कार्यान्वयन उदाहरण, और संपूर्ण टिप्पणियों के साथ पूर्ण कार्यशील डेमो शामिल हैं।

क्या गैर-प्रोग्रामर के लिए कोड टिप्पणी करने के लिए मैं कुछ और कर सकता हूं?

यह एक उचित अनुरोध नहीं है, क्या यह है?


अपडेट करें

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

मैंने प्रलेखन प्रदान किया जो किसी अन्य प्रोग्रामर के लिए उपयुक्त है (जेएससीओसी और इनलाइन टिप्पणियों के साथ-साथ तकनीकी मुद्दों पर कुछ अतिरिक्त नोट्स), और मेरे बॉस का अनुसरण करने के लिए कार्यक्रम के मुख्य तर्क का एक बहुत व्यापक प्रवाह चार्ट आरेख।

अंत में, सभी पक्ष संतुष्ट हुए और हम आगे बढ़ गए।


ऐतिहासिक कारणों से बंद, कृपया अधिक विवरण के लिए "शीर्ष मतदान वाले प्रश्नों को बंद करें" देखें।
यानिस

जवाबों:


160

नहीं , यह एक उचित अनुरोध नहीं है!

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

अगली चीज़ जो वह माँग रहा है वह है गणितीय सूत्रों का अनुवाद करना, या अंग्रेजी पाठ में क्या नहीं। यद्यपि निश्चित रूप से संभव है कि त्रुटि और गलत व्याख्या के लिए बहुत जगह है , और कभी नहीं किया जाना चाहिए। ठीक उसी तरह जैसे अंग्रेजी में "ट्रांसलेट" कोड।


दिलचस्प: भौतिकी पर रिचर्ड फेनमैन व्याख्यान पढ़ें। आप पाएंगे कि इसका अधिकांश भाग ध्यान से लिखा जाने वाला तर्क है, अंग्रेजी में (यदि X तो Y को सत्य होना चाहिए, और इसलिए Z ... आदि)। थोड़ा गणित। मैं जो बिंदु बना रहा हूं वह यह है कि आप अंग्रेजी में चीजों को समझा सकते हैं। चाहे आप एक और मामला हो।
जल्दी_नौकर

1
@quickly_now - कॉलेज के दौरान उन्हें बहुत पहले पढ़ें। बुरा नहीं पढ़ा। मैं सहमत हूं, आप इसे समझा सकते हैं - आप इसे किसी भी भाषा में समझा सकते हैं जब आप जिस व्यक्ति को पहले से समझा रहे हैं, वह इसके पीछे "अमूर्त" को समझ सकता है (कोड, गणितीय समीकरण और इसका अर्थ ...) // अगर वह नहीं करता है ' t - आपको इसे किसी भी भाषा में समझाने में परेशानी होगी।
रूक

4
@ रूक - अच्छी बात है। क्वांटम यांत्रिकी को एक आदिम जनजाति को समझाते हुए जिसकी शब्दावली एलक के लिए किस दिशा तक सीमित है, थोड़े कठिन होंगे।
जल्‍दी से जल्‍दी से जल्‍दी

मुझे आपके प्रबंधक को सूक्ष्म-प्रबंधन के लिए कई बार 'इरादा' मिल सकता है। लेकिन, यदि कोड अपने आप में बहुत स्पष्ट था, तो वह इसे अंग्रेजी पाठ के रूप में पढ़ सकता है।
अरविंद चिनहिया

150

क्या आपके पास डिज़ाइन दस्तावेज़ हैं ? वे अंग्रेजी स्पष्टीकरण हैं कि कोड क्या करता है। एक गैर-प्रोग्रामिंग प्रबंधक को इससे अधिक की आवश्यकता नहीं होनी चाहिए।


15
यही कारण है कि मैंने निर्दिष्ट किया, "एक गैर-प्रोग्रामिंग प्रबंधक को इससे अधिक की आवश्यकता नहीं होनी चाहिए।"
मैल्फिस्ट

35
@ लॉरेन Pechtel: मैं वहां साइट करना चाहूंगा और इस आदमी को वास्तव में "के एक पूर्णांक चर बनाएँ" के पृष्ठ पढ़ते हैं। इसे 0 पर सेट करें। Y नामक एक पूर्णांक चर बनाएँ। इसे 0 पर सेट करें। Z नामक एक पूर्णांक चर बनाएँ। इसे 0 पर सेट करें। X स्थिति नामक एक पूर्णांक चर बनाएं। इसे 0 पर सेट करें। Y स्थिति नामक एक पूर्णांक चर बनाएं। इसे 0 पर सेट करें। Z स्थिति नामक एक पूर्णांक चर बनाएं। इसे 0 पर सेट करें। एक पूर्णांक चर नाम बनाएँ। X रोटेशन। इसे 0 पर सेट करें। Y रोटेशन नामक एक पूर्णांक चर बनाएं। इसे 0 पर सेट करें। Z रोटेशन नामक एक पूर्णांक चर बनाएं। इसे 0 पर सेट करें। "...
FrustratedWithFormsDesigner

9
@ निर्दिष्ट यह सिंटैक्स हाइलाइटिंग के साथ बहुत आसान है! " [P32767, L21, सी 8] को बढ़ाने के pXलिए एक के आकार से Integer। बढ़ाएँ Sumमूल्य के द्वारा की ओर इशारा किया pX। बढ़ाएँ i1. द्वारा यदि i3 से कम है, अन्यथा पेज 32768, रेखा 17, कॉलम 42 में जाओ, पेज 32767 करने के लिए जाना , पंक्ति 21, स्तंभ 8। "
मतीन उल्हाक

9
@ मंटू, आपको उन सभी कार्यों को इनलाइन करने की आवश्यकता है ताकि आपको पृष्ठों के बीच आगे-पीछे कूदना न पड़े। अन्यथा स्टैक को वापस लेने में किसी को बहुत परेशानी हो सकती है।
किब्बी

15
@ दिया गया: तो आप किसकी आवाज़ की कल्पना कर रहे हैं? मैं सीन कॉनरी और मॉर्गन फ्रीमैन के बीच फैसला नहीं कर सकता।
बीटा

113

क्या वर्ष पुरस्कार का माइक्रो-प्रबंधक है? ऐसा लगता है कि आपका बॉस एक नामांकन का हकदार है। कोई है जो मानता है कि उसे कोड की लाइन-बाय-लाइन स्तर की समझ की आवश्यकता है, लेकिन यह नहीं सीखना चाहता कि इसे सीधे कैसे पढ़ा जाए, यह सूक्ष्म प्रबंधक के रूप में एकदम सही है, जिसकी कल्पना की जा सकती है।

एक डेवलपर होने का एक फायदा यह है कि कोड को समझने में कठिनाई एक निश्चित डिग्री से आगे, कम से कम विस्तृत कार्यान्वयन स्तर पर, गैर-तकनीकी प्रबंधन द्वारा कम से कम विस्तृत माइक्रो-मैनेजमेंट को रोकती है, क्योंकि यहां तक ​​कि सबसे हार्ड-कोर माइक्रो-मैनेजर भी पहचानता है कि वे हैं उस स्तर पर उनके सिर पर। लेकिन आपके बॉस की प्रतिभा को सिलिकॉन के पर्दे को चकनाचूर करने का एक तरीका मिल सकता है।

और, एक बोनस के रूप में, यह अनुवाद करने में डेवलपर के समय की जबरदस्त मात्रा को बर्बाद करता है, इससे पहले कि वह विभिन्न सुधारों का सुझाव देना शुरू करने के लिए अंग्रेजी अनुवाद का उपयोग करता है (मुझे लगता है कि वह जानता है कि प्रोग्रामर की तुलना में बेहतर कोड कैसे करें, भले ही वह नहीं कर सकता कोड पढ़ें , और जैसे ही कोई इसका अनुवाद करेगा, वैसे ही वह अपना ज्ञान साझा करने में सक्षम होगा, अन्यथा उसे अनुवादित हर पंक्ति की आवश्यकता क्यों होगी?)।

तो, नहीं, यह एक उचित अनुरोध नहीं है, और मैंने इसके बारे में पहले कभी नहीं सुना है। और मैं तुम्हारे लिए महसूस करता हूं। मुझे लगता है कि हर किसी को चुपचाप दूसरी नौकरी की तलाश शुरू करने की आवश्यकता हो सकती है, क्योंकि एक बार जब वह एक प्रबंधन उपकरण के रूप में कोड अनुवाद का उपयोग करना शुरू कर देता है, तो यह संभवतः काम करने के लिए एक क्रूर स्थान होगा (एर, काम करने के लिए एक अधिक क्रूर स्थान)।

प्लस साइड पर, शायद आप अपनी स्थिति के नाम पर एक नया विरोधी पैटर्न प्राप्त कर सकते हैं? मोंटी पाइथन स्किट के बाद "डर्टी हंगेरियन वाक्यांश" विरोधी पैटर्न के बारे में कैसे, जहां एक टोबैकोनिस्ट किसी ऐसे व्यक्ति के साथ संवाद करने की कोशिश कर रहा है, जो हंगेरियन वाक्यांश पुस्तक का उपयोग करके अंग्रेजी नहीं बोलता है, जिसमें हास्यप्रद रूप से गलत अनुवाद हैं।


21
Micromanagement के निदान के लिए +1। मेरे अपने शब्दों में: वहाँ से f___ प्राप्त करें!
tdammers

@ दोस्त: सौभाग्य से, इस तरह की बात मैं अपने बॉस से कह सकता हूं। वह एक मालिक होने के अलावा एक अच्छा बेला है!
हेल्टनबाइकर

5
एक प्रबंधक जिसे कोड की प्रत्येक पंक्ति को समझने की आवश्यकता होती है, उसे प्रोग्रामर कहा जाता है।
जेम्स पी।

91

उसके साथ बैठें और कोड की 10 लाइनों के माध्यम से उससे बात करें। प्रत्येक विवरण को तब तक समझाएं जब तक आप दोनों सहमत न हों कि वह उसे उस सीमा तक समझता है जो वह चाहता था।

हो सकता है कि यह अनुभव वह सब कुछ देख रहा हो: बस आपके काम को देखकर आपको कैसा आभास होता है और आपके दृष्टिकोण से सॉफ्टवेयर कैसा दिखता है। मेरी किताब में यह अच्छी बात है।

यदि इसके बाद भी, वह अभी भी आपको जारी रखना चाहता है, तो कहना: ध्यान दें कि मुझे कितने प्रश्न पूछने थे; कल्पना कीजिए कि अगर मुझे यह सब पूछने के लिए सक्षम होने के बिना समझाने की आवश्यकता होती है, तो मैं संभवतः कैसे जान सकता हूं कि क्या शामिल करना है और क्या छोड़ना है? परिणाम आपके सामने आने में कितना समय लगेगा? अब आप इस तरह से मुझे कितनी लाइनों में करना चाहते हैं?


57
यह सुनिश्चित करने के बाद कि आपने दो घंटे बिताए हैं दस पंक्तियों को समझाते हुए कि वह समझता है कि कोड के 50,000 (या जो भी) पंक्तियाँ समझाई जानी बाकी हैं।
HLGEM

6
वास्तव में एक बहुत ही समझदार तरीका है। उसे उसके तौर-तरीकों की अज्ञानता का आभास कराएँ।
किब्बी

4
@reinierpost: आपकी विधि शुद्ध प्रतिभा है।
हेलटनबीकर

5
यदि आप ऐसा करने जा रहे हैं, तो पहले बॉस को बताएं कि यह सामान्य और बुरा प्रदर्शन क्यों है। यदि आप नहीं करते हैं, तो ऐसा प्रतीत हो सकता है कि आप उस पर एक "चाल" खींच रहे हैं और उसे रक्षात्मक पर डाल रहे हैं।
nerdytenor

5
लोगों को कभी मत बताओ कि उनके विचार बुरे हैं !! हालाँकि, आप इस बात पर चर्चा कर सकते हैं कि उन्हें सच करने के लिए क्या करना होगा, और शायद शॉर्टकट लेने के लिए कुछ विचार भी दें। यदि इससे यह निष्कर्ष निकलता है कि यह विचार व्यवहार्य नहीं था, या प्रारंभिक विचार को कुछ पूरी तरह से अलग बनाता है, और उन्हें कुछ बिंदु पर यह नोटिस करना चाहिए, तो वे सिकुड़ जाएंगे और कहेंगे: यह जीवन है।
रीइनियरियरपोस्ट

43

मुझे नहीं लगता कि यह एक उचित अनुरोध है। स्रोत कोड का मतलब अंग्रेजी में (या उस मामले के लिए कोई अन्य भाषा) पढ़ना नहीं है।

शायद वह डरता है कि आप अपना कोड कुछ ऐसा करने जा रहे हैं जिसे वह स्वीकार नहीं करता है या इसके बारे में पता नहीं है। अगर ऐसा है, तो मुझे नहीं लगता कि ऐसा कुछ है जिसके बारे में आप कर सकते हैं। आपको अपने कोड को ऑडिट करने के लिए किसी को हायर करने के लिए डॉक्यूमेंटेशन लिखना होगा या हो सकता है।


13
एक अंग्रेजी अनुवाद के साथ भी , एक गैर-प्रोग्रामर बहुत अच्छी तरह से विश्वास कर सकता है:/* and this line is transferring deposits to the correct account */ deposits.TransferAll(acctInfo);
आईब्रेट

15
यदि बॉस "डरता है तो आप अपने कोड को कुछ ऐसा करने जा रहे हैं जो वह स्वीकार नहीं करता है या इसके बारे में पता नहीं है" यह उसके डर को कम करने के लिए कुछ भी नहीं करेगा। वही व्यक्ति अनुवाद प्रदान कर रहा है जिसने कोड लिखा था। उन्हें झूठ बोलने से रोकने के लिए क्या करना है? यहाँ कुछ और चल रहा है।
एमएमसी

4
कोबोल का मतलब अंग्रेजी में पढ़ा जाना था।
22

1
शायद वह यह पता लगाने की कोशिश कर रहा है कि कोड क्या देखता है कि क्या वह तर्क से सहमत है और शायद बेहतर विचार प्राप्त करता है। किसी भी मामले में, ऐसा करना उसका काम नहीं है, कम से कम इस तरह से तो नहीं ...
हेल्टनबीकर

32

यह वास्तव में बहुत सरल है:

  • एक प्रोग्रामर के रूप में आपके कौशल के कारण आपको काम पर रखा गया है
  • आपके प्रबंधक के पास ये कौशल नहीं हैं
  • एर्गो, आपके प्रबंधक को यह अपेक्षा नहीं करनी चाहिए कि आप जो करते हैं उसे पूरी तरह से समझने में सक्षम हों

मुझे पिछली नौकरी में ऐसा ही अनुभव हुआ है। मेरा प्रबंधक एक लेखाकार था (और इस प्रकार बहुत निम्न-स्तरीय विवरण उन्मुख), और प्रोग्रामिंग को समझना या वास्तव में विश्वास नहीं करना था। वह समझ नहीं पा रही थी कि एक गैर-तकनीकी व्यक्ति के रूप में, उसने जो कुछ भी लिखा है, उसे समझने में सक्षम होने की उम्मीद नहीं करनी चाहिए। अत्यधिक प्रलेखन और गैर-तकनीकी उपयोगकर्ताओं को प्रशिक्षण देने और कोड को बदलने (हां, वास्तव में) के अनुरोध के कई अनुरोधों के बाद, मैंने उसे बंद करने की कोशिश करना बंद कर दिया, और एकमुश्त इनकार कर दिया। मैं जिस सादृश्य की व्याख्या करता था वह सरल था:

  • मैं अकाउंटेंट नहीं हूं
  • मुझे हर एक लेन-देन या हमारे खातों में पोस्टिंग को समझने की उम्मीद नहीं करनी चाहिए
  • इसका मतलब यह नहीं है कि खाते गलत हैं, या अविश्वसनीय हैं, सिर्फ इसलिए कि मैं उन्हें नहीं समझता
  • यह उन लोगों पर भरोसा करके संभव बनाया गया है जिन्होंने उन्हें संकलित किया

यह सब के अंत में, यह वही है जो मुझे ऐसा लगता है: एक प्रबंधक जिसे अपने कर्मचारियों पर भरोसा करने में कठिनाई होती है; या डर है कि वे छोड़ देंगे, और सोचते हैं कि यह इसके खिलाफ कम करने का एक प्रभावी तरीका है।

इसका एकमात्र उपाय यह है कि आप बैठकर समझाएं कि इसका कोई मतलब नहीं है। यह आपका काम है कि आप कोड को समझें और इसे किसी ऐसे व्यक्ति के लिए संभव बनाएं जो इसे समझने के लिए आपके कौशल के समान हो, न कि आपके प्रबंधक का। उन्हें यह धागा दिखाना एक अच्छा विचार हो सकता है (या वास्तव में वास्तव में भयानक, उनके व्यक्तित्व पर निर्भर करता है)।


आपके प्रबंधक ने आपका स्पष्टीकरण कैसे लिया?
जेफ मार्टिन

1
ठीक वैसे ही जैसे आप उम्मीद कर सकते हैं। ;) हालांकि, बिंदु बना दिया गया था, और अनुरोध बंद हो गए। मुझे नहीं पता कि ऐसा इसलिए था क्योंकि मैंने उसे अपने तर्क की वैधता के लिए मना लिया था या उसने फैसला किया कि यह परेशानी के लायक नहीं है और हार मान ली।
जॉन एन

25

लाइन-बाय-लाइन, हास्यास्पद है। मैं जो सुझाव दे सकता हूं वह टिप्पणियों से डॉक्स उत्पन्न करने और उसे देने के लिए है। यह कनाडा सरकार के कई अनुदान और ऑडिट के लिए पर्याप्त था जो मैंने अतीत में काम किया है।

उसे लाइन-बाय-लाइन नहीं मिलेगी, लेकिन उसे पद्धति-दर-तरीका मिल जाएगा, जिसे अभी भी उसकी ज़रूरत से ज़्यादा बारीक होना चाहिए ।

आपके मंच के आधार पर कुछ मौजूदा समाधान:

  • सी #: सैंडकास्ट
  • जावा: जावाडॉक
  • "सी ++, सी, जावा, ऑब्जेक्टिव-सी, पायथन, आईडीएल (कोरबा और माइक्रोसॉफ्ट फ्लेवर), फोरट्रान, वीएचडीएल, पीएचपी, सी #, और कुछ हद तक डी।" : ऑक्सीजन

Pas2Dox के रूप में, डेल्फी को डॉक्सिज़न सूची में शामिल करें ;-)
फैब्रिकियो

Sandcastle लिंक पर जाएं। प्रभावित देखो। "दस्तावेज़" टैब पर क्लिक करें। संदेश देखें "इस परियोजना के पास अभी तक दस्तावेज नहीं हैं।" प्रभावित से कम देखो।
काज ड्रैगन

16

यह उसके लिए कोड को पढ़ने के लिए सीखने की तुलना में अंग्रेजी के किसी भी दिलचस्प एप्लिकेशन के पूरे कोड का अनुवाद करना होगा। इसके अलावा, हमने कोशिश की कि COBOL के साथ और यह बिल्कुल भी मदद न करे। यदि वह सीखने के लिए तैयार नहीं है, लेकिन सिर्फ अपनी अज्ञानता को किसी और की समस्या बनाना चाहता है, तो आपके पास एक गंभीर रूप से संकेत-प्रधान बॉस है।


3
मुझे लगता है कि अंग्रेजी भाषा होनी चाहिए। बॉस को सभी सॉफ्टवेयर को डीएसएल (डोमेन विशिष्ट भाषा) में लिखने के लिए कहना चाहिए, फिर वह सिस्टम के काम करने के तरीके में बदलाव कर सकता है।
डेविड डी सी ई फ्रीटास

मुझे लगता है कि कोबोल का जिक्र इसके बारे में है। जिस किसी ने भी एक साधारण हैलो दुनिया को छापा है, वह जानता है कि यह भाषा कितनी हास्यास्पद है। यह कुछ समझदार लेकिन बहुत औपचारिक की ओर एक अच्छा कदम था।
जेम्स पी।

15

अपने बॉस का पीछा करने के लिए अपनी तकनीकी विशेषज्ञता का उपयोग करें।

  1. उसे बताएं कि ऐसा करने में सिर्फ उतना ही समय लगेगा, जितना आपने इसे पहली बार में कोड करने के लिए किया था (इसे लंबा करने के लिए स्वतंत्र महसूस करें।)।
  2. उससे पूछें कि इस दस्तावेज़ को अप-टू-डेट करने की आवश्यकता है। उसे सूचित करें सभी कोडिंग परिवर्तन अब कम से कम दो बार लंबे समय तक ले जाएंगे।
  3. यदि आपको या किसी और को कोई कीड़े मिलते हैं, तो उससे पूछें कि क्या आपको उन्हें अभी ठीक करना चाहिए या तब तक इंतजार करना चाहिए जब तक कि आप पसिडो कोडिंग नहीं कर लेते। उसे # 1 & # 2 के बारे में याद दिलाएं।

सभी बुरे समाधान सुझावों की तरह, समस्या की पहचान करना बेहतर है। हो सकता है कि आपके बॉस को ऊपरी प्रबंधन द्वारा तकनीकी सवालों का सामना करना पड़ रहा हो और वह जवाब देने में असमर्थ होने के कारण शर्मिंदा महसूस कर रहा हो। कोड का एक विशेष खंड हो सकता है जिसे वह सबसे अधिक चिंतित महसूस करता है, इसलिए आप इस बड़े पैमाने पर उपक्रम को उस क्षेत्र तक सीमित कर सकते हैं।

एक नमूना प्रस्तुत करने से, वह इस निष्कर्ष पर पहुंच सकता है कि अगर आपको समझ में नहीं आता है कि कोडिंग कैसे काम करती है (इन सभी मदों के लिए एक लूप क्या है और यह क्या कर रहा है?) इससे कोई फर्क नहीं पड़ता कि यह किस भाषा में है। एक बिजली उपयोगकर्ता के नजरिए से आवेदन को समझना। मुझे लगता है कि आपके लिए यह उचित है कि आप उसे बताएं कि आप वास्तविक कोड / संकेत लिख रहे हैं - मैं दूसरी नौकरी ढूंढ रहा हूं।


7
हमें किसी को "बेवकूफ" के रूप में चित्रित करने से सावधान रहने की आवश्यकता है। हालांकि यह प्रोग्रामर के रूप में यह करने के लिए व्यक्तिगत रूप से हमारे लिए संतोषजनक है, मुझे नहीं लगता कि यह पेशेवर है, और किसी भी प्रबंधक से कोई भी अनुरोध, चाहे कितना भी अजीब हो, उसके गुणों के आधार पर इलाज किया जाना चाहिए।
फंकीमुशरूम 18

6
@funkymushroom: इस अनुरोध का गुण यह है कि वह एक बेवकूफ है।
डेडज़ैम

3
@funkymushroom - मुझे लगता है कि हमें इस साइट पर थोड़ी सी लेवी की अनुमति दी जा सकती है। Afterall, आप funkymushroom द्वारा जाते हैं।
जेएफओ

2
@ जेफ: प्वाइंट अच्छी तरह से लिया गया। मैं किसी भी तरह से एक छड़ी में नहीं हूँ। हालांकि, दो प्रकार के "बेवकूफ" हैं। "दुर्भावनापूर्ण इडियट" और "इग्नोरेंट इडियट" और मैंने दोनों के साथ काम किया है। पहले को नजरअंदाज किया जाना चाहिए, वह हमारे करियर के लिए खतरनाक है, और दूसरा एक अच्छा सहयोगी हो सकता है, इसलिए हमें उसे सिखाना चाहिए।
फंकीमुशरूम

@funkymushroom - सहमत हूँ, इसलिए मैंने इसे निकाल लिया।
जेफ़ो

12

क्यों?

एक लाइन-बाय-लाइन टिप्पणी उचित नहीं है, लेकिन यहाँ मैं क्या पूछूंगा: आप ऐसा क्यों चाहते हैं?

क्या इसलिए कि ...

  • आप सॉफ्टवेयर क्या करता है (जरूरी नहीं कि कैसे) की पूरी समझ चाहते हैं?
  • यदि आप छोड़ दें तो आप निश्चित रूप से एक अन्य प्रोग्रामर परियोजना को चुन सकते हैं?
  • आप देखना चाहते हैं कि मैं असली काम कर रहा हूं?

इस अनुरोध के पीछे एक वाजिब इच्छा हो सकती है, और आप अपने बॉस को खुश कर सकते हैं और उस ज़रूरत को पूरा कर सकते हैं।

अपडेट करें

Mikey'sटिप्पणी के आधार पर , शायद मैंने इसे थोड़ा बहुत स्पष्ट रूप से कहा। मेरा मतलब यह नहीं है कि आपको शाब्दिक रूप से कहना चाहिए "आप ऐसा क्यों चाहते हैं?", बस आपको यह पता लगाना चाहिए । आवाज़ की रिकॉर्डिंग और स्वर में बड़ा अंतर होता है। विशेष रूप से, आप कुछ ऐसा कह सकते हैं:

"मैं आपके अनुरोध के बारे में सोच रहा था कि कोड की हर एक पंक्ति का स्पष्टीकरण हो। इस तरह से चीजें करना थोड़ा असामान्य है। मैं सोच रहा था कि शायद वहाँ कुछ है जो मैं अपने काम के बारे में आपसे अच्छी तरह से संवाद नहीं कर रहा हूँ। यह क्या है कि आप वास्तव में हमारे कोड के बारे में समझना चाहते हैं, या मैं क्या कर रहा हूं? आप यहां क्या हासिल करने की कोशिश कर रहे हैं? "

बेशक, यह संभव है कि आपका बॉस पूरी तरह से अनुचित है। लेकिन यह अधिक संभावना है कि वह नहीं जानता कि यह अनुरोध कितना स्पष्ट है और कुछ तर्कसंगत लक्ष्य है।

यदि नहीं, तो अपना रिज्यूमे चमकाना शुरू करें। :)


-1 इस उत्तर के लिए: यदि आप अपनी नौकरी पर रखना चाहते हैं (या कम से कम इसे स्वेच्छा से छोड़ दें) तो आपको ऐसे बॉस से 'क्यों' नहीं पूछना चाहिए? यह एक ऐसी चीज है जिसे चालाकी से देखा जाना चाहिए, जैसा कि दूसरों ने सुझाया है।
वेक्टर

3
मैं मिकी की टिप्पणी से असहमत हूं। आदेशों की अवहेलना करना मूर्खतापूर्ण है। 'क्यों?' प्रत्येक अनुरोध पर मुझे अनावश्यक काम के अनगिनत घंटे बचाए और इस प्रक्रिया में मेरी कंपनी को बहुत पैसा बचाया। इसे परामर्श कहा जाता है, और जो लोग अपने मालिकों से नहीं डरते हैं वे इसे उदारतापूर्वक और महान प्रभाव के लिए करते हैं। जब मेरे लिए काम करने वाले लोग कुछ सुझाते हैं, तो मैं भी उनसे पूछता हूं 'क्यों?' भी। दोनों मामलों में, यह औचित्य की मांग कर रहा है, और ऐसा करने के लिए पूरी तरह से स्वीकार्य है।
सोवियुत

10

साक्षर प्रोग्रामिंग की कोशिश करने का एक अच्छा मौका लगता है। यह गूगल। :)

लेकिन ... यह जरूरी नहीं कि पूरी तरह से अनुचित अनुरोध है। आपकी नौकरी का हिस्सा (अधिक महत्वपूर्ण हिस्सा, imo) अन्य डेवलपर्स के लिए अपने एल्गोरिथ्म (और), और यदि आवश्यक हो, तो गैर-तकनीकी लोगों को संवाद करना है। एकांत जीनियस प्रोग्रामर जो संवाद नहीं कर सकते हैं वे हमेशा समस्याग्रस्त हैं, मुझे लगता है।

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


मैंने विकिपीडिया पृष्ठ पर एक नज़र डाली है। यह मुझे "संरचित <इंसानी भाषा यहाँ डालें>" की याद दिलाता है जो मैंने पढ़ाई के दौरान देखी थी। आप if blah then add 1 to xnassi-schneiderman या flowcharts के विकल्प के रूप में अभिव्यक्ति के साथ लाइन द्वारा प्रोग्रामिंग संरचना लाइन का प्रतिनिधित्व करने के लिए मानव भाषा का उपयोग करते हैं । क्या यह साक्षर प्रोग्रामिंग से अभिप्राय है?
जेम्स पी।

आप इस पृष्ठ पर केवल एक ही व्यक्ति हैं, जिसने नुथ के साक्षर प्रोग्रामिंग का उल्लेख किया है - मुझे आश्चर्य होता है कि पिछले चालीस वर्षों तक बाकी पोस्टर किस चट्टान पर
टिके

@ जेम्स: नूथ की "टेक्स - द प्रोग्राम" की एक प्रति खरीदें और इसे पढ़ें। यह साक्षर प्रोग्रामिंग है।
cji

10

यहां तक ​​कि लाइन ट्रांसलेशन द्वारा एक लाइन भी कोड की प्रत्येक पंक्ति के अर्थ को प्रभावी ढंग से व्यक्त नहीं करेगी। एक प्रोग्रामर को कोड की एक लाइन की समझ हमेशा कई कारकों के संदर्भ में होती है। मल्टी-थ्रेडेड कोड के एक टुकड़े की तरह कुछ में जाओ और अंग्रेजी अनुवाद कच्चे कोड से अधिक कोई मतलब नहीं होगा। कार्यक्षमता के बारे में सोचो जो कई कार्यों / फाइलों के बीच फैली हुई है। कुछ कोड अन्य कोड की व्यापक मात्रा की व्याख्या किए बिना बिल्कुल कोई मतलब नहीं है। निर्भरता इंजेक्शन "लाइन बाय लाइन" में शामिल विभिन्न भागों को समझाने की कोशिश करें और आप देखेंगे कि मेरा क्या मतलब है। बस के बारे में कुछ भी है कि भगवान-समारोह प्रक्रियात्मक कोड से परे चला जाता है बस अंग्रेजी अनुवाद को समझने के लिए प्रोग्रामिंग ज्ञान की एक व्यापक राशि की आवश्यकता होगी। इसके अलावा, एक if / अन्यथा निर्णय कथन के रूप में कुछ सरल रूप में देखें। कोई लाइन-बाय-लाइन नहीं है, चूंकि अगली पंक्ति रन टाइम डेटा पर निर्भर है। अगली पंक्ति कई संभावनाओं में से एक हो सकती है।जब तक आपने समझाया कि आपका आवेदन क्या है, तब तक आप अपने पीएम को एक प्रोग्रामर बना चुके होंगे और आप दोनों 5 साल के हो जाएंगे।


10

चूंकि मैं प्रोग्रामिंग सिखाता था, इसलिए मैं केवल इसे देना बहुत खुश होऊंगा।

वह जल्दी से पता लगा लेगा कि वह उससे ज्यादा सौदेबाजी कर रहा है, जो मुझे दुखी करेगा क्योंकि मुझे चीजें समझाना पसंद है :-)


3
मुझे लगता है कि यह यहां सबसे अच्छा जवाब है। मैं इसे एक कोशिश देने के लिए सभी अनिच्छा को नहीं समझता, मेरा मतलब है कि आपको वहां बैठने और अपना कोड समझाने के लिए भुगतान किया जाएगा! नरक, जब तक कि आपका कोड पूरी तरह से बकवास नहीं है, तब तक आप शायद इसका आनंद लेंगे, और कोई फर्क नहीं पड़ता कि यह कितना अच्छा है आप शायद कुछ कीड़े और सुधार के लिए जगह पाएंगे।
बिल के

1
मेरे पास एक शिक्षक था जो प्रोजेक्टर के माध्यम से प्रदर्शित कोड टाइप करते समय सामान समझाता था। शायद यह ड्राइविंग सबक की तरह एक सा हो सकता है। यदि आप सभी कोड के माध्यम से नहीं कर सकते हैं तो कम से कम आप बेहतर समझ दे सकते हैं कि क्या किया जा रहा है और कैसे।
जेम्स पी।

1
मैं खुद को शिक्षण व्यवसाय में लाने की कोशिश कर रहा हूं, और मैंने एक समान जवाब दिया। मैं @Bill के साथ हूं, मुझे गंभीरता से निराशा है कि लोग इस तरह के एक पुनरावृत्ति रुख ले लेंगे। क्या हमें विश्वास है कि यह कोड के एक छोटे से हिस्से को भी समझाने में समय बिताने लायक है?
री मायसाका

1
@ राय: दृष्टिकोण, बुरा या अच्छा, अन्यथा समान लोगों के बड़े सबसे बड़े हिस्से को लेने की प्रवृत्ति है। मेरे पास अनुभव (इंजीनियर, ग्रेड छात्र, प्रोफेसर, सलाहकार, दीर्घकालिक कर्मचारी) की चौड़ाई है, इसलिए मुझे लगता है कि एक दृष्टिकोण देता है। इसके अलावा, मेरे दृष्टिकोण वर्षों में स्थानांतरित हो गए हैं।
16:20 पर माइक डनलवे

10

जब आप अपने 'बॉस' का संदर्भ लेते हैं, तो यह "आप / आपकी टीम का मध्य प्रबंधक" होता है? या आपकी कंपनी का मालिक? क्या आपको "घंटे के हिसाब से" या "वेतन पर" दिया जाता है?

यदि आपका बॉस एक मिडिल टियर मैनेजर है जो जवाबदेह है, तो उसके बॉस को जवाब दें, यह इंगित करें कि आपके बॉस की आवश्यकता को पूरा करने के लिए कंपनी की आपकी उत्पादकता 1/3 हो जाएगी।

यदि आपका बॉस "वह व्यक्ति है जो चेक पर हस्ताक्षर करता है" तो उसे एक ही बात समझाएं, बस राजनयिक रूप से। आपकी नौकरी "कोड लिखें" से "कोड लिखें, कोड की व्याख्या लिखें, स्पष्टीकरण की व्याख्या करें।"

यहां छवि विवरण दर्ज करें


क्यों नहीं करते हैं और पैसे लेते हैं? क्या आप इतना निश्चित हैं कि आपका एकमात्र मूल्य बंदर की तरह कोड बनाने में पसंद करता है?
बिल के

9

एक फ्लो चार्ट संभवतः उसके लिए अधिक लाभकारी होगा। यह निश्चित रूप से एक असामान्य अनुरोध है और एक प्रबंधक के रूप में उसके बारे में बहुत कुछ नहीं कहता है।


18
वास्तव में, यह मुझे इस व्यक्ति के बारे में बहुत कुछ बताता है ...
मार्जन वेनेमा

5
इस संदर्भ में "जो बहुत कुछ नहीं कहता है" का अर्थ है - यह वास्तव में बहुत कुछ कहता है, लेकिन यह केवल व्यक्ति के बारे में बहुत अच्छा संकेत नहीं देता है ।
जोसेफ वीसमैन

8

यह तथ्य कि आपका बॉस आपके द्वारा लिखे गए कोड को समझने के लिए कुछ समय बिताने के लिए तैयार है, आप अपने लाभ के लिए उपयोग कर सकते हैं। उसे ककड़ी से परिचित कराने का प्रयास करें: http://cukes.info/

और अपने बॉस को भविष्य में आपके लिए BDD टेस्ट लिखने के लिए कहें।


मैं थोड़ी देर के लिए अपनी दुकान में ककड़ी का उपयोग करने की कोशिश कर रहा हूं ... दुर्भाग्य से, (या शायद सौभाग्य से!) मेरे मालिक को परवाह नहीं है कि पर्दे के पीछे क्या होता है, जब तक यह काम करता है। बस उसे पहले परीक्षण लिखने के लाभ को समझना एक कठिन लड़ाई थी।
जेसन लुईस

6

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


6

अंग्रेजी की सुंदरता यह है कि खूबसूरती से बाधित है। यदि आप इसे अपने लाभ के लिए उपयोग करते हैं, तो आप इस तरह के अनुरोध से निपटने के लिए कभी भी नहीं सोच सकते हैं। मैं एक नमूना के रूप में कोड का एक छोटा टुकड़ा ले जाऊंगा, लेकिन जो बहुत सार है और समझने में आसान नहीं है। मैं तब तकनीकी अंग्रेजी में टिप्पणी लिखूंगा जैसे कि आप इसे एक प्रोग्रामिंग बुक में एक अध्याय के लिए लिख रहे थे। पालन ​​करने के लिए लंबा और अधिक जटिल, बेहतर। उसे बताएं कि इस एक फीचर को डॉक्यूमेंट करने में आपको कितने घंटे लगे। फिर समझाएं कि यह केवल 1/10% 1% है (यदि आप कर सकते हैं तो कोड की तर्ज पर वास्तविक आंकड़ों का उपयोग करें, वे संभवतः वास्तविक कोड आधार के इस से भी बदतर हैं)। जब उसे पता चलता है कि उसके पास कोई अनुवाद नहीं है तो अंग्रेजी अनुवाद क्या कहता है और यह कि इस स्तर के प्रलेखन में उसे 20,000 आदमी-घंटे लगेंगे, वह काफी जल्दी वापस आ जाएगा। लेकिन बहुत ईमानदारी से अपने कार्य को पूरा करने की कोशिश कर रहे हैं। यदि आप इसे नहीं खींच सकते, तो उसे आज़माएँ और उसे संदेह है कि आप उसे खेल रहे हैं।


6

यह एक विशेष अवकाश-मुद्दा नुकीले बालों वाले-बॉस दिलबर्ट पट्टी के लिए एक उम्मीदवार की तरह दिखता है ! उनके अनुरोध को निश्चित रूप से नहीं करता है ध्वनि पहली नजर में उचित।

हास्य एक तरफ, यह पता लगाने की कोशिश करें कि उसे वास्तव में क्या चाहिए, और क्यों, फिर उसे सलाह दें कि उसे देने के लिए डॉलर या घंटों में क्या खर्च होगा, और उसे यह तय करने दें कि क्या वह उस पर इतना पैसा खर्च करना चाहता है।

अपने लिए, अपने विचित्र अनुरोध को पूरा करने में लगने वाले घंटों की गणना करें और फिर निर्धारित करें कि क्या आप उस समय के एक अंश का निवेश करने से बेहतर नहीं होंगे जो एक नया काम ढूंढने के लिए एक नियोक्ता के लिए काम कर रहा है जो आपको इलाज करने के लिए तैयार है। एक पेशेवर के रूप में!


1
लागत-लाभ विश्लेषण का काम करना चाहिए। हो सकता है कि प्रबंधक को इसमें लाने के लिए कुछ अतिरिक्त लाभ हों। यदि यह भुगतान नहीं करता है तो ऊपरी प्रबंधन को लागू करना और बचाव करना कठिन है।
mbx

6

उसे अपने कार्यालय में लाएं और उसे अपने कोड का एक दौरा दें।

वह उस रास्ते का एहसास करेगा जिसके माध्यम से उसने एक बेतुकी मांग की, और वह चल बसा और फिर कभी आपको परेशान नहीं करेगा।

यदि आप उसकी मांगों को उसके कोड को समझने में मदद करने के लिए नहीं देते हैं, तो वह आपको अलग-अलग लेकिन समान रूप से आपके लिए प्रहार करने के लिए बेतुके तरीके खोजेगा।

यह एक ऐसा मामला है जहां तुष्टिकरण घर्षण से बेहतर काम करता है।


+1 - मैं एक ही तर्ज पर सोच रहा था - उसे अनुरोध पर ले जाओ - वह बहुत ऊब जाएगा और / या बहुत पहले मौत से डर जाएगा ...
वेक्टर

+1 मुझे यह पसंद है - "घर्षण से बेहतर काम करता है"।
माइक डनलैवी

6

यह बहुत अच्छा होगा यदि हमारे पास एक अनुवादक "भाषा X से अंग्रेजी" है जो ऐसा करता है। तो कोई मुस्कुरा सकता है और कह सकता है, कोई बात नहीं, मालिक, आपके पास एक मिनट में होगा। और फिर कुछ मेगाबाइट टेक्स्ट के साथ एक मेल आता है जो पढ़ता है:

  • 20 तत्वों के साथ एक नया पूर्णांक सरणी होने दें।
  • पूर्णांक को संग्रहीत करने के लिए x को एक चर मानें।
  • X को 0 पर सेट करें
  • जबकि x 20 से छोटा है जो अगली 2 पंक्तियों में निर्धारित है
  • इंडेक्स x के साथ nThPrime को तर्क x + 1 के साथ कॉल करने के परिणाम के साथ सरणी तत्व सेट करें
  • 1 से x बढ़ाएं
  • ....

एक अन्य विकल्प शेक्सपियर में प्रोग्रामिंग का सुझाव देना होगा ।


मैं वही सुझाव देने जा रहा था। बॉस एक वैचारिक अवलोकन नहीं चाहता है, वह इसे लाइन से लाइन चाहता है, इसलिए एक दिन में कुछ को क्रैंक करना संभव होना चाहिए, ताकि पूरी तरह से बेकार हो लेकिन सतही रूप से सही प्रलेखन। इससे कोई फर्क नहीं पड़ता कि अगर यह चूहों का एक घोंसला था, जो कि पर्ल में आसानी से उलझा हुआ था, तो यह बस चर घोषणाओं, चर के संशोधनों, विधि कॉल आदि की पहचान करेगा (याद रखें कि यह लाइन से लाइन है, यह नहीं में है जिस तरह से groks कोड)।
फिल्डिन सेप

हां, यह बॉस सिर्फ अज्ञानी है। वह नहीं जानता कि "अमूर्तता" क्या है, वह नहीं जानता कि अंग्रेजी कंप्यूटर प्रोग्रामों को व्यक्त करने के लिए अच्छा नहीं है, वह कल्पना नहीं कर सकता है कि वह वास्तव में उन सभी विवरणों को जानना नहीं चाहता है, इसलिए वह एक प्रोग्रामर का भुगतान करता है। इसलिए, वह इस तरह एक सबक के हकदार हैं।
इंगो

5

मेरे बॉस हमारे कोड की एक पंक्तिबद्ध पंक्ति-दर-पंक्ति अंग्रेजी व्याख्या चाहते हैं

कठोर।

चूंकि वह एक प्रोग्रामर नहीं है, इसलिए वह कोड का पालन नहीं कर सकता है, इसलिए चाहता है कि यह सभी अंग्रेजी में अनुवादित हो।

यदि वह प्रोग्रामर नहीं है, तो उसे कोड नहीं पढ़ना चाहिएबिल्कुल भी।

इसके बजाय उच्च-स्तरीय दस्तावेज़ प्रदान करें।

यह एक उचित अनुरोध नहीं है, क्या यह है?

नहीं।


4

एक प्रोग्रामर के रूप में, आपके पास वास्तव में "दो" नौकरियां हैं।

पहला अच्छा कार्यक्रम बनाना है। दूसरा उन्हें कंपनी के अंदर और बाहर के ग्राहकों को "बेचना" है।

आपके बॉस का अनुरोध "आपकी पहली नौकरी" को नुकसान पहुंचाता है। अपने कार्यक्रमों को प्रलेखित करने में अधिक समय लगता है। दूसरी ओर, वह वास्तव में आपको अपनी "दूसरी" नौकरी पर कड़ी मेहनत करवा रहा है।

आपका बॉस आपको HIS के लाभ के लिए अंग्रेजी में अपने कार्यक्रम का दस्तावेजीकरण करने के लिए कह रहा है, और संभवत: ऐसे लोगों के लाभ के लिए जिन्हें उसने कंपनी के अंदर और बाहर सौदा किया है। यदि आप उसे अपना काम करने में मदद करते हैं, तो यह लंबे समय में आपके लाभ के लिए काम करना चाहिए, जब आप उससे अधिक हार्डवेयर, कार्मिक, या पैसे के लिए पूछते हैं। आखिरकार, उसने आपको और काम करने के लिए कहा।


3
डॉक्यूमेंटिंग लाइन-बाय-लाइन! = प्रोजेक्ट बेचना। पहले से ही एक दस्तावेज होना चाहिए जो यह जानकारी प्रदान करता है, इसे आवश्यकताएं कहा जाता है। मैं आपके 2 नौकरियों के विवरण के बारे में सहमत हूं, लेकिन परियोजना / प्रणाली / आवेदन को बेचने के लिए उस स्तर पर दस्तावेज़ीकरण करना फायदेमंद नहीं होगा। आपके कार्य को प्रस्तुत करने के लिए एक उपयुक्त स्तर का प्रलेखन है, और यह वह नहीं है।
cdkMoose

मैं शर्त लगाता हूं कि इस कंपनी में चेक लिखने वाला व्यक्ति खुश नहीं होगा, यह प्रबंधक इस कंपनी के संसाधनों को बर्बाद कर रहा है।
जेफ़ो

@ जेफ ओ: हो सकता है। या यह हो सकता है कि WHOLE कंपनी इस तरह है, शीर्ष पर सभी तरह से।
टॉम औ

4

मुझे लगता है कि बीडीडी इस समस्या के साथ अच्छी तरह से पेश आएगा, हालांकि ऐसा लगता है कि आपकी परियोजना निकट-पूर्ण है, इसलिए इसे अभी लागू करना कठिन है, इसलिए यह भविष्य के संदर्भ के लिए अधिक पसंद है।

BDD उपयोग-मामलों के साथ मानव-पठनीय दस्तावेजों के रूप में वर्णित किया जाता है जिन्हें तब स्वचालित कार्यात्मक परीक्षणों में अनुवाद किया जाता है।


यह अब तक का सबसे रचनात्मक सुझाव हो सकता है। व्यवहार-संचालित विकास को इस आवश्यकता को पूरा करने के लिए डिज़ाइन किया गया है: प्रोग्रामर और उनके प्रबंधकों / ग्राहकों की मदद करने के लिए सॉफ्टवेयर क्या करता है, इसके बारे में सहमत हैं। विवरण लिखने से कोड की योजना बनाने में मदद मिलती है, और परीक्षण चलाने से साबित होता है कि वे अभी भी सटीक विवरण हैं।
नाथन लॉन्ग

4

संभवतः, यह अनुरोध ANTLR जैसी चीजों को सीखने का एक अच्छा समय है । ANTLR लें, अपनी भाषा का व्याकरण लें, आपके पास मौजूद सभी कोड को पार्स करें , हर नोड के लिए अपने एएसटी जनरेट करने वाले टेम्पलेट-आधारित विवरणों को पार करें , इसलिए i++इस प्रकार वर्णित किया गया है increase i by 1 using postfix increment operator। यह वास्तव में अजीब होना चाहिए। आपका बॉस यह भी चाहता है कि यह टूल बिल्ड स्क्रिप्ट में शामिल हो, इसलिए हर बार जब आप कोई बदलाव करते हैं, तो वह एक नया संस्करण क्या करता है, यह वर्णन करते हुए ~ 20 एमबी ई-मेल प्राप्त करेगा।

PS बस मजाक कर रहे हैं, वह एक बेवकूफ है।


3

हालांकि मैं मानता हूं कि यह एक अनुचित अनुरोध है, आपका बॉस डोको के आउटपुट की तरह कुछ सराहना कर सकता है , जो आपके कोड और लाइन-बाय-लाइन या क्लॉज-बाय-क्लॉज टिप्पणियों को दो-कॉलम HTML आउटपुट में अलग करता है, एक कोड के साथ पक्ष और दूसरे पर गद्य। आपको खुद ही टिप्पणियाँ टाइप करनी होंगी, लेकिन प्रस्तुति गैर-तकनीकी पाठकों के लिए भी अच्छी IMHO है। उदाहरण के लिए, अंडरस्कोर.जैस के लिए एनोटेट कोड की एक लाइन-बाय-लाइन टिप्पणी अनुभाग देखें । पाइथन और शेल स्क्रिप्ट संस्करण भी हैं।


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

3

यह संभव है कि आपका बॉस सिर्फ बेख़बर और भयभीत हो, लेकिन वास्तव में एक उचित व्यक्ति है। यदि ऐसा है, तो उसके साथ तर्क करना काम कर सकता है - एक आकस्मिक बातचीत जहां आप "वह जो वास्तव में चाहता है" प्रदान करने का वादा करता है; कार्यक्रम क्या कर रहा है के लिए एक गद्य गाइड।

यदि यह "मेरे रास्ते या राजमार्ग" के लिए नीचे आता है, तो अपनी गैस की बेहतर जांच करें।


3

आप ककड़ी जैसे व्यवहार-संचालित-डिज़ाइन ढांचे का उपयोग करके कुछ स्वीकृति परीक्षण लिख सकते हैं ? वह कोड की व्याख्या नहीं करेगा; यह बताएगा कि यह क्या करता है, और प्राकृतिक भाषा में। यह निष्पादन योग्य होने का लाभ भी है, इसलिए आप हमेशा यह सुनिश्चित कर सकते हैं कि दस्तावेज़ अप-टू-डेट है, क्योंकि यदि यह नहीं है, तो परीक्षण-धावक लाल हो जाएगा।

इंट्रो वीडियो देखें। शायद यह एक अच्छा मोड़ है जब आप एक नया मालिक पाते हैं ... ;-)


2

आपका प्रबंधक इस तथ्य से लगभग निश्चित रूप से व्यथित है कि वह यह नहीं समझता है कि लोग क्या कर रहे हैं कि वह क्या प्रबंध कर रहा है, और उसके पास उन परिणामों को समझने के लिए पृष्ठभूमि नहीं है जो वे पैदा करते हैं।

मुझे संदेह है कि उसने इस समाधान को बहुत अच्छी तरह से सोचा था, और यह शायद पहली नज़र में उसे समझदार लग रहा था। लेकिन यह काफी हद तक है क्योंकि वह समझ नहीं पाता है कि वास्तव में प्रोग्रामिंग कोड क्या है।

कोई भी प्रोग्रामर इस अनुरोध की बेरुखी को समझता है, लेकिन हम ऐसा इसलिए करते हैं क्योंकि हम सहज रूप से जानते हैं कि एक बार जब आप भाषा को पा लेते हैं, तो जो कुछ भी पता चलता है वह एल्गोरिथम है, जो समान रूप से गूढ़ है।

// Set s to the first address in the server list
server_info *s = cmd->servers;
// Loop until s is NULL
while (s) {
    // call the server's init function passing our current ID and address
    s->init(proc->id,*addr);
    // call log::info with our custom message
    log::info("Starting server %s",s->name);
    // Set s to the value returned by the server's next() function
    s=s->next();
} // end of loop

यहाँ समस्या यह है कि जबकि टिप्पणियाँ बताती हैं कि प्रत्येक पंक्ति क्या करती है, आपको अभी भी पता नहीं है कि कोड वास्तव में क्या करता है जब तक आप यह नहीं समझते कि सभी निहितार्थ क्या हैं। यह स्पष्ट है कि यदि आप एक प्रोग्रामर हैं और इस पैटर्न को पहले देख चुके हैं; लेकिन इसे किसी ऐसे व्यक्ति को दिखाएं जो केवल बिक्री को समझता है, और वह केवल टिप्पणियों को पढ़ने के बाद भ्रमित हो जाएगा जैसा कि वह पहले था।

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


1

IMHO ... यदि वह कार्य पूरा करने के लिए जिम्मेदार है, तो उसे पता होना चाहिए कि यह कैसे काम करता है ... :)


2
क्या आप प्रबंधक या प्रोग्रामर की बात कर रहे हैं?
नाथन लॉन्ग

हर गैर-तकनीकी प्रबंधक इस बहुत डेवलपर समय का उपयोग करने के लिए कितनी कंपनियों को वहन कर सकता है?
जेफ़ो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.