जब आप बहुत बुरी तरह से लिखे गए कोड के साथ काम करते हैं तो आप कैसे उत्पादक बने रहते हैं?


63

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

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

ऐसा नहीं है कि कोड को पढ़ना बहुत कठिन था । समस्याओं के बावजूद-प्रत्येक परियोजना में कई कॉपी-पेस्ट किए गए तरीकों, विशाल ifघोंसले, सिस्टम हंगेरियन, अपरिष्कृत कनेक्शन के साथ एक वर्ग है - यह अभी भी पठनीय है।

हालाँकि, मैंने खुद को लॉगिंग को जोड़ने के रूप में कुछ पर काम करने के बावजूद बिल्कुल अनुत्पादक पाया। मूल रूप से, मुझे बस चरण दर चरण कोड को पार करने और कुछ ट्रेस कॉल जोड़ने की आवश्यकता है। हालाँकि, कोड की मूढ़ता इतनी कष्टप्रद है कि मैं शुरू करने के 10 मिनट के भीतर थक जाता हूं । शुरुआत में, मैं usingनिर्माणों को जोड़ता था, उलटा करके घोंसले के शिकार को कम करता था, ifचर को पठनीय नामों में बदल देता था - लेकिन परियोजना बड़ी है, और अंततः मैंने हार मान ली। मुझे पता है कि यह वह काम नहीं है जो मुझे करना चाहिए था, लेकिन कम से कम गंदगी को कम करने से मुझे किसी तरह का मनोवैज्ञानिक इनाम मिला, ताकि मैं आगे बढ़ सकूं। अब चाल ने काम करना बंद कर दिया, और मेरे पास अभी भी 60% काम करने के लिए है।

मुझे काम के बाद सिरदर्द होने लगा था, और मुझे अब उस संतुष्टि की अनुभूति नहीं हुई, जो मुझे मिलती थी- जो आमतौर पर मुझे सीधे 10 घंटे के लिए कोड करने की अनुमति देती है और फिर भी ताजा महसूस करती है।

यह केवल एक बड़ा शेख़ी नहीं है, क्योंकि मेरे पास वास्तव में एक वास्तविक प्रश्न है:

क्या उत्पादक रहने और पवन चक्कियों से लड़ने का कोई तरीका नहीं है?

वहाँ यह सोचने के बजाय काम पर ध्यान केंद्रित रहने के लिए मनोवैज्ञानिक चाल किसी तरह का है "कैसे बेवकूफ है कि ?" हर बार जब मैं पिछले प्रोग्रामर द्वारा एक और चतुर चाल देखते हैं? लॉगिंग जोड़ने के साथ समस्या यह है कि मुझे वास्तव में यह समझना होगा कि कोड क्या करता है, और ऐसा करने से मेरे मस्तिष्क को एक अप्रिय फैशन में दर्द होता है।


हंगेरियन संकेतन बुरा नहीं है, मूल पेपर पढ़ें कि वह क्या बात कर रहा था :)
Woot4Moo

14
मुझे पता है कि हंगेरियन बुरा नहीं है। यह ठीक है कि मैंने सिस्टम हंगेरियन क्यों लिखा , एप्स हंगेरियन (मूल एक) नहीं। मुझे C # में सिस्टम हंगेरियन का उपयोग करने में कोई समझदारी नहीं है क्योंकि इसमें शानदार प्रकार की प्रणाली और IDE है। सभी के साथ शुरू होने वाले एक ही दायरे में 10 चर होने से objयह कठिन है क्योंकि यह मूल रूप से अपठनीय है।
दान

2
काश मैं इस सवाल को एक से अधिक वोट दे पाता!
o6tech


9
स्टैक पर गंभीर सवाल पूछकर मैं भाप से उड़ा देता हूं जो मुझे नीचा दिखाते हैं।
एरिक रिपन

जवाबों:


32

मुझे आपको बताने के लिए खेद है, लेकिन सभी नौकरियां धूप और ग्लैमर से भरी नहीं हैं। अधिकांश विकास कार्यों में इस तरह से काम करना शामिल है। दुखद लेकिन सत्य।

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

आप मूल रूप से यहां अपना स्वयं का सुरक्षा जाल बना रहे हैं। ग्लैमर, नहीं, लेकिन महत्वपूर्ण हाँ!

तो, यह कहा जा रहा है कि आपको अपने आप को कैसे प्रेरित करना चाहिए? जब मेरे पास काम करने का मन होता है, तो मैं अपने लिए लक्ष्य निर्धारित करता हूं। सप्ताह के अंत तक टास्क एक्स करना समाप्त करें। अगर मैं अपना लक्ष्य बनाता हूं, तो मैं खुद को पुरस्कृत करता हूं। नए रेस्तरां मैं कोशिश करना चाहते हैं? अगर मैं खत्म करूं तो शुक्रवार की रात जाना। नई फिल्म अभी आई? यदि मैं समाप्त करता हूं तो इसे सप्ताहांत पर देखें।

मुझे अपने पर्यवेक्षक के साथ बात करते हुए और उसे पता है कि मैं कहाँ पर हूँ और कैसे प्रगति कर रहा हूँ, मुझे जवाबदेह रखता है। अगर मैं उन्हें बताता हूं कि मैं शुक्रवार तक हो जाऊंगा, तो मुझे लगता है कि इसे शुक्रवार को पूरा करने में मुझे ज्यादा परेशानी होगी।

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


मैं विशेष रूप से शुक्रवार की प्रेरणा के बारे में बात करना पसंद करता हूं। यह मजेदार है कि वर्तमान रिलीज भी शुक्रवार को निर्धारित है। मुझे लगता है कि यह जोड़ने लायक है कि आभार प्रेरणा एक चलती है। आपको यह सुनिश्चित करने की आवश्यकता है कि कोई व्यक्ति आपके काम के लिए आभारी है, या फिर आप जो काम कर रहे हैं उसे बदल दें। ईमानदारी से 'धन्यवाद' अक्सर बेचैन घंटे वापस करता है।
Dan

1
@ बेयरॉन - मुझे खुशी है कि सुझाव आपके लिए मददगार हैं। प्रेरणा का एक अच्छा स्तर के साथ काम के माध्यम से हो रही अंत में बंद का भुगतान करेगा। पिछले साल अपनी वर्तमान नौकरी में, मुझे वही करना था जो आप कर रहे हैं। इस साल मुझे स्क्रैच से लिखने के लिए एक नया ऐप दिया गया था। लोग नोटिस करेंगे कि आप क्या करते हैं और आप कितना अच्छा काम करते हैं।
18

3
-1 अपने कार्य जीवन और व्यक्तिगत जीवन को क्यों लिंक करें? यह लगातार ओवरटाइम रहने के समान लगता है -I didn't finish my under-estimated task by Friday - so I need to stay at home and feel bad.
वोरैक

@Vorac ~ मैंने कहा कि मैं अपने आप को प्रेरित करने के लिए क्या करता हूं। हर कोई अलग है। और मैं आपको आश्वासन दे सकता हूं, मैं ओटी को लगातार काम नहीं करता हूं। कुछ ऐसा खोजें जो आपको प्रेरित करे और उसका उपयोग करे। जब मुझे कोई ऐसा कार्य करना होता है, जो मुझे नहीं करना है, तो मुझे सबसे अच्छा काम करने वाली सामग्री मिलती है।
तियान्ना

1
@IntegrityFirst ~ मेरे लिए, हाँ। मुझे अपने टूडू सूची को पूरा करने के लिए देर हो जाएगी। मैं यह सुनिश्चित करने के लिए अपने समय का बजट दूंगा कि मैंने इसे मारा। यह मेरे लिए और मेरे सहकर्मियों के लिए मेरी ईमानदारी है जब मैं कहता हूं कि मैं इसे पूरा करूंगा। लेकिन, अगर मुझे पता है कि मेरे द्वारा कहे गए समय में कुछ नहीं किया जा सकता है, तो मैं योजना को बदल देता हूं और अपने पर्यवेक्षक को बता देता हूं। और अगर मैं थोड़ा देर से समाप्त करता हूं, तो फिल्म / रेस्तरां अगले सप्ताह वहां होगा। :)
तानना

30

Thedailywtf.com पर सबमिट करने के लिए उम्मीदवार कोड स्निपेट की एक फ़ाइल रखें। यहां तक ​​कि अगर आप वास्तव में उन्हें जमा करने का इरादा नहीं रखते हैं, तो यह आपको कुछ कोड खोजने के लिए एक उज्ज्वल पक्ष देता है जो औसत से भी बदतर है।


काश मैं इसे एक बार और बढ़ा पाता। यह एक बहुत अच्छा सुझाव निकला, अब जब मैंने पाया कि ये लोग वास्तविक सेटिंग से ठीक पहले एप्लिकेशन कॉन्फ़िगरेशन फ़ाइलों में अपने चैंज को स्टोर करते हैं।
दान

24

मैं एक ऐसी ही स्थिति में था, खराब लिखित, बड़े पैमाने पर कॉपी-और-पेस्ट किए गए कोड के एक बड़े शरीर को साफ करने का काम।

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

मैं ऐसे ही मेट्रिक्स की तलाश करूँगा जो आप आसानी से अपने आप को प्रगति की भावना देने और इसे एक प्रकार के खेल में बदल सकें। कोड की लाइनें (बस चलती हैं wc -l), साइक्लोमैटिक जटिलता (जो नीचे जाना चाहिए जैसे कि आप उन खराब नेस्टेड "ifs" को साफ करते हैं), कोड की लाइनें जो आपके पूर्ववर्ती के बजाय आपके द्वारा छुआ गई हैं (मुझे लगता है कि FishEye आपको यह बता सकते हैं $ 10), आदि आप कोड ब्लॉक की संख्या की गणना करने के लिए बहुत परेशानी के बिना एक पर्ल स्क्रिप्ट भी लिख सकते हैं जिसमें अभी तक लॉगिंग स्टेटमेंट नहीं हैं।


मैं SourceMonitor
UmNyobe

13

मैंने इस पुस्तक को अनुशंसित देखा है: वर्किंग इफ़ेक्टली विथ लेगेसी कोड , लेकिन सौभाग्य से इसे पढ़ने की आवश्यकता नहीं है।

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


2
यह पुस्तक मौजूदा कोड को फिर से परीक्षण करने योग्य बनाने के बारे में है; मुझे नहीं लगता कि यह प्रेरणा के रास्ते में बहुत मदद करने वाला है।
बिली ओनेल

2
अच्छा बिंदु @ बिली ओनली, लेकिन परीक्षण योग्य कोड और संबंधित मैट्रिक्स होने से प्रगति दिखाई दे सकती है जो प्रेरक हो सकती है।
स्टुपरयूजर

1
मैंने यह किताब पढ़ी है। निश्चित रूप से पढ़ने लायक। मैं वास्तव में WEWLC को सिर्फ इसलिए प्रेरित कर पाया क्योंकि यह जानकर अच्छा लगा कि वहाँ कोई है जो उन निराशाओं के सटीक प्रकारों को समझ रहा था और उन कुंठाओं को कम करने के लिए प्रभावी तरीके तैयार किए थे।
जेसन स्वेट ऑक्ट

1
वह किताब थोड़े पुरानी और पुरानी है। यदि आपने इसे नहीं पढ़ा है, तो आप इसे क्यों सुझाते हैं?
B48ови।

1
@StuperUser जैसा कि मैंने इसे पढ़ा, मैं कह सकता हूं कि यह पुराना है, और नौसिखिए उपयोगकर्ताओं के लिए कुछ उपयोगी सलाह प्रदान कर सकता है।
B18овиЈ

6

परियोजना को विखंडू में तोड़ने का प्रयास करें। प्रत्येक दिन जानें कि एक विशिष्ट हिस्सा कैसे काम करता है। यह सब एक बार में समझने की कोशिश करना शायद वही है जो आपको तनाव दे रहा है।

परियोजना को बेहतर बनाने में गर्व महसूस करें। क्या अन्य कोडर हैं जिनसे आप बात कर सकते हैं? यह आपके द्वारा पाए गए नवीनतम तर्क पर चर्चा / हंसते हुए वाटर कूलर के आसपास खड़े होने में मदद करता है। मैं काम पर एक jovial माहौल रखने के लिए ऐसा करने की कोशिश करता हूं।


हां, मैं विखंडू द्वारा काम कर रहा हूं, और मैं पहले से ही कुछ समय के लिए इस पर काम कर रहा हूं, इसलिए मुझे प्रत्येक घटक के बारे में एक मोटा विचार है। फिर भी, यह बहुत मदद नहीं करता है क्योंकि यह तर्क के छोटे टुकड़े हैं जिन्हें आमतौर पर समझने में समय लगता है - और मुझे गुस्सा आता है जब मुझे एहसास होता है कि 30 लाइन विधि जिस पर मैंने 10 मिनट बिताए थे वह वास्तव में 2 लाइनों में फिर से लिखा जा सकता है। कंपनी के लिए, दुर्भाग्य से, मैं इस परियोजना का एकमात्र डेवलपर हूं, और मैं वर्तमान में ग्राहक के कार्यालय में काम कर रहा हूं, इसलिए कोई भी ऐसा नहीं है जो मैं वास्तव में नहीं कर सकता।
दान

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

@ बेयरन आह-हा! आप केवल कोडर हैं। तो आप से पहले लड़का ही कोडर था। जब आप एकमात्र कोडर होते हैं तो आप बहुत कुछ प्राप्त कर सकते हैं (जैसा कि आपने अपने पूर्ववर्ती से देखा है)। इसे ध्यान में रखें जब आप अपनी अगली नौकरी की तलाश करें। ;)
डेविडास्किन्स

@ रामस्वरूप मैं शर्त लगा रहा हूं कि कोई भी कोड समीक्षा नहीं होगी। मुझे यकीन है कि कोई औपचारिक एकीकरण परीक्षण नहीं होगा। मैंने कुछ बार इन पदों पर काम किया है। आमतौर पर लोग केवल वही कोड चाहते हैं जो काफी अच्छा काम करे और वे इसे जल्द से जल्द चाहते हैं। "सर्वोत्तम प्रथाओं" की व्याख्या करना एक दीवार, IMHO से बात करने जैसा है।
davidhaskins

@ रामदूत, इस परियोजना के लिए कोई परीक्षण नहीं हैं, और मैं क्लीनर कोड के लिए सिस्टम को बर्बाद करने के लिए जिम्मेदार नहीं होना चाहता हूं। ऐसे कई मामले हैं जब वर्तमान कोड का अर्थ है कि अपवादों को निगला जा रहा है, या फिर अन्य प्रकार के बुरे व्यवहार पर निर्भर करता है जो स्पष्ट नहीं है। यह मेरे द्वारा लॉगिंग जोड़ने के कारणों में से एक है।
दान

6

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

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

यह मूल रूप से एक डोमेन विशेषज्ञ के साथ एक सतत बातचीत करने का एक सुविधाजनक तरीका है :)


3

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


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

1
"यह फेंकने वाले कोड पर काम करने में उत्पादकता नहीं जोड़ता है" Suuure यह करता है। आपको कम जोखिम वाले कार्य (लॉगिंग) करते समय, आपकी समझ पर काम करने वाले कोड के बड़े हिस्से से गुजरना पड़ता है। यह ज्ञान जो आप प्राप्त कर रहे हैं, अगर यह फिर से लिखने की बात आए तो बहुत मदद करेगा । यदि आपके द्वारा इनाम को आगे देखने के लिए फिर से लिखने की कोशिश नहीं की जाती है, तो जब आप बड़ी मात्रा में ऐप को साफ कर लेंगे, तो आपके सुसंगत और लगातार प्रयासों के कारण कोड आधार कितना बेहतर होगा।
क्वेंटिन-स्टारिन

2

इन मामलों में मैं कोड के एक भाग को फिर से लिखना चाहता हूं। एक क्षेत्र को कम चूसना और फिर मैं सिर्फ कुछ और जहां कुछ और जोड़ रहा हूं। फिर कुछ और कोड को साफ करें। बुरा कोड केवल बुरा है यदि आप इसे वहां छोड़ देते हैं।


सिस्टम बहुत बुरी प्रथाओं पर निर्भर करता है इसलिए एक विधि को फिर से लिखने के लिए मुझे पूरी परियोजना को फिर से लिखना होगा (जो मैं शायद अंततः करूंगा लेकिन वर्तमान रिलीज के लिए मेरे पास कुछ समय सीमाएं हैं)।
दान

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

2

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


0

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

एक और चाल के लिए दिन के अंत में आगे देखने के लिए एक अच्छी गृहिणी है। प्रेमिका, दोस्त, खेल कुछ भी काम करेंगे, आपको दिन के माध्यम से प्राप्त करने के लिए एक लक्ष्य देने के लिए और ट्रूडिंग को हालांकि खराब कोड के लायक बनाते हैं।


0

माइकल फेदर द्वारा "लिगेसी कोड के साथ प्रभावी ढंग से काम करना" मदद कर सकता है।

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


दुर्भाग्य से, यह SharePoint परियोजना है, जिसका अर्थ है कि यह लगभग अप्राप्य है। मैंने Microsoft Moles का उपयोग करके अतीत में SharePoint के लिए कुछ शांत सैंडबॉक्सिंग लिखा है, लेकिन इसके लिए बहुत अतिरिक्त कार्य की आवश्यकता है।
दान
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.