आपको याद है कि अगली बार आप अपने कोड में कहाँ जाना चाहते हैं? [बन्द है]


18

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

क्या आप एक विजुअल स्टूडियो बुकमार्क सेट करते हैं या ऐसा कुछ लिखते हैं // TODO: continue here next time? हो सकता है कि आपके पास एक विशेष टैग हो // NEXT:? क्या आप अपने मॉनिटर पर एक चिपचिपा नोट डालते हैं? क्या आपको एक शांत उपकरण या विज़ुअल स्टूडियो प्लगइन का उपयोग करना चाहिए जो मुझे पता होना चाहिए?

क्या आपके पास कोई व्यक्तिगत ट्रिक है जो आपको अपने कोड में वह स्थान ढूंढने में मदद करती है जहां आपने पिछली बार अपने कोड पर काम किया था?


3
कुछ आईडीई को याद रखने के लिए सेट किया जा सकता है कि पिछली फाइलें खुली हैं, और उन फाइलों में स्क्रॉल-इन स्थिति है।
FrustratedWithFormsDesigner

8
// यहाँ प्राप्त करें। (इसके अलावा, उनकी आईडीई को कौन बंद करता है?)
एलेक्स फेइमैन

2
विम को याद होगा कि आप हर फाइल में कहाँ थे जब ऐसा करने की दिशा दी गई थी~/.vimrc
वैकल्पिक

ग्रहण ने सभी फाइलें खोलीं, जब मैंने इसे बंद किया था, उसी स्थिति में। यदि वह मदद नहीं करता है, तो git status diff_ और git logआपके मित्र हैं।
इंगो

Emacs ऐसा करेंगे यदि आप Save Place को सक्षम करते हैं: emacswiki.org/emacs/SavePlace
ल्यूक गिरविन

जवाबों:


17

मैं ठीक करता हूं जो भी यूनिट परीक्षण काम नहीं कर रहे हैं। यदि वे सभी गुजर रहे हैं, तो मैं एक नया लिखता हूं।


1
तार्किक परिणाम को इंगित करने वाला शब्द: जानबूझकर एक असफल परीक्षा छोड़ना जब आप दिन के लिए समाप्त हो जाते हैं, तो अपने आप को याद दिलाने का एक अच्छा तरीका है कि आप अगले दिन क्या काम करना चाहते थे ...
जूल्स

9

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

शुक्रवार 02/25/2011 लक्ष्य

फिर मैं प्रत्येक परियोजना को लिख रहा हूं, जिस पर मैं काम कर रहा हूं, और आज मुझे जो भी करना है, या उसे पूरा करना है।

फिर दिन के अंत में, मैं कल किए जाने वाले सामान को लिखता हूं।

यह दैनिक प्रक्रिया मुझे यह याद रखने में मदद करती है कि मुझे क्या करने की ज़रूरत है, और सुनिश्चित करें कि प्रत्येक दिन अच्छी तरह से नियोजित हो।


2
मैं भी ऐसा ही करता हूं, लेकिन बस एक पेंसिल के साथ अपने नोटपैड पर इसे लिखता हूं
Zachary K

मैं इसे नोटपैड के साथ भी करता हूं, और हर हफ्ते मैं पुराने पृष्ठ से छुटकारा पाता हूं और एक नई शुरुआत करता हूं।
विन्यासकर्ता

1
मैं हर दिन अपने सभी लक्ष्यों को रखता हूं, मुझे मेरे द्वारा किए गए सभी कार्यों को एक ऐतिहासिक रूप देता है, और चलो मुझे समीक्षा करें कि मैंने कंपनी में क्या योगदान दिया है।
crosenblum

टोबॉय एडिन "नोट ऑफ द डे" इसके लिए बहुत अच्छा है, आप "आज के टडोस" जैसे शीर्षक के साथ एक टेम्पलेट सेट कर सकते हैं। फिर आप पिछले दिन के नोटों को देखते हुए प्रत्येक दिन शुरू कर सकते हैं। live.gnome.org/Tomboy/PluginList
टिम एबेल

8

मूल रूप से मैं कभी नहीं भूलता कि मैं क्या काम कर रहा हूं। आप किसी भी तरह से काम कर रहे थे, या, मैं कभी भी विजुअल स्टूडियो को बंद नहीं करता और सिर्फ हाइबरनेट करता हूं।

मैं अमूर्त / क्रियान्वयन में NotImplementedException रखता हूं जो जरूरी नहीं है कि मैं जो काम कर रहा था उसे विकसित करना जारी रखूं

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

विजुअल स्टूडियो की टास्क लिस्ट का उपयोग करके, आप उन सभी स्थानों को आसानी से देख सकते हैं जहाँ आपने ये संकेत छोड़े हैं, और आप कस्टम भी जोड़ सकते हैं।

अपडेट करें:

" HACK :" भी अच्छा है जब आप कुछ लिखते हैं जो काम करता है, लेकिन आप बिल्कुल भी खुश नहीं हैं।


लेकिन क्या होगा अगर आपने प्रोजेक्ट पर काम करना बंद कर दिया (लंबे समय तक) क्योंकि आपको किसी और प्रोजेक्ट पर काम करना था।
बिटकॉइन

1
@bitbonk: मैं एक परियोजना पर काम करना बंद नहीं करूंगा, एक निश्चित कार्य को लागू करने के बीच में। शायद एक वर्ग भी नहीं, इसलिए "यहां" नहीं है।
स्टीवन ज्यूरिस

खैर, आप भाग्यशाली हैं! :)
बिटबोनक

5

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

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

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


2

मैं VS के लिए उत्पादकता पावर टूल्स का उपयोग करता हूं। इसके साथ मैं टैब को पिन कर सकता हूं और उन्हें ग्रुप कर सकता हूं। = डी इस तरह मैं कभी नहीं भूल सकता कि मैं क्या काम कर रहा था।

इसके अलावा, मैं // TODO'sअपने कोड में भी बहुत कुछ जोड़ता हूं।

http://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef/


1

"द मास्टरमाइंड्स ऑफ़ प्रोग्रामिंग" में से एक साक्षात्कार में, (मुझे लगता है कि यह गुइडो वैन रॉसुम था, पायथन के निर्माता) साक्षात्कारकर्ता ने कहा कि उसने //HIERपिछली बार समाप्त हुई जगह पर एक टिप्पणी की तरह जोड़ा । "HIER" यहां के लिए डच (?) है और वह इसे चुनता है क्योंकि अगर उस तार को खोजा जाए तो अन्य घटनाओं के होने की संभावना नहीं है


"हीर" (जर्मन)
बिटबोनक

"हीर" डच में भी, "हीर" नहीं
स्टीवन ज्यूरिस

3
//HIERARCHY DOCUMENTATION... उफ़!
मेसन व्हीलर

@ मेसन: एक "पूरा शब्द केवल" खोज उस समस्या से बच जाएगी।
dan04

1

अब तक, मेरा पसंदीदा तरीका टीडीडी है। यह काफी स्पष्ट है कि आप कहाँ हैं जब आपका परीक्षण सूट विफल रहता है।

लेकिन, सभी परियोजनाएं टीडीडी के लिए अनुमति नहीं देती हैं, इसलिए मैं कोड को एक असुविधाजनक के साथ तोड़ने के लिए जाता हूं, जहां मैंने छोड़ दिया था।

// Some Comment

Becomes Some Comment // Which Produces Some Fatal Error

यह घातक त्रुटि यह सुनिश्चित करती है कि मैं इसे जारी करने से पहले उस कोड को अछूता नहीं छोड़ता।

अंत में, मैं हमेशा अपने vcs की जांच कर सकता हूं कि यह देखने के लिए कि मेरी पिछली प्रतिबद्धताओं के बाद से क्या बदल गया है और इससे मुझे एक अच्छा विचार मिलेगा कि मुझे आगे कहां जाना चाहिए ...


1

मैं बहुत परिष्कृत सीखने की अवस्था के साथ दो बहुत परिष्कृत आधुनिक तकनीकों का उपयोग करता हूं:

  • अपने कंप्यूटर को बंद न करें । बस घर जाओ, और अगली सुबह आप स्क्रीन पर वही जगह देखेंगे जहाँ आपने कल हैक करना बंद किया था। लेकिन अगर आप छुट्टी के लिए जाते हैं तो आपके चेकपॉइंट को खोने का जोखिम बहुत अधिक है।
  • एक संकलन त्रुटि छोड़ दें , और दूसरी शाखा देखें। तो आपका कहना है, C ++ कोड इस तरह दिखेगा:

    for (i=0; i<N; i++){
      int j = i + oh, no, my boss wants me to fix text on the front page!
      why? why should I do it?  Jimmy could have done it faster, but
      of course, my office is closer to the boss', and he doesn't want to
      take longer walks, that lazy fat bastard...
    

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

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


1

यह अब विजुअल स्टूडियो 2012 में एक एकीकृत सुविधा है जहां आप अपने कार्यक्षेत्र को निलंबित और फिर से शुरू कर सकते हैं। सस्पेंड आपकी खुली फाइलों, ब्रेकपॉइंट्स, वॉच लिस्ट, काम की वस्तुओं आदि का स्नैपशॉट लेगा और फिर से शुरू करेगा। मूल रूप से आपका संपूर्ण कार्य प्रसंग सहेजा जाता है और आपके द्वारा छोड़े गए समय के अनुसार फिर से शुरू होगा।
http://msdn.microsoft.com/en-us/library/ms181403.aspx

फीचर दिखाने वाला एक लघु वीडियो यहाँ है
http://channel9.msdn.com/Series/Visual-Studio-2012-Premium-and-Ultimate-Overview/Visual-Studio-Ultimate-2012-How-to-multi-task- साथ-मेरे-कार्य


0

मेरी वर्तमान पसंदीदा व्हाय विशेष // NEXT:टैग है। ReSharper के TODO एक्सप्लोरर के साथ मिलकर इसे खोजना और बनाए रखना बहुत आसान है।


0

मैं दृश्य स्टूडियो में एक गैर-निर्मित डॉक्स उपप्रोजेक्ट में प्रत्येक पुनरावृत्ति के लिए एक विकास लॉग रखता हूं; लॉग में अंतिम पंक्ति हमेशा अगला कार्य है।

मैं भी दृश्य स्टूडियो को अक्सर बंद नहीं करता, बस इसके बजाय कंप्यूटर को स्टैंडबाय पर रखता हूं


0

यह जानने के लिए कि मुझे तुरंत वापस आने की क्या ज़रूरत है, मैंने आमतौर पर एक टिप्पणी दी:

//TODO: figure out why the widget doesn't unfrob properly

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

{$MESSAGE WARN 'This method is not yet implemented'}

यकीन नहीं होता कि क्या अन्य भाषाएं ऐसा कर सकती हैं ...


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

0

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

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

इसलिए, मैं जानबूझकर असफल परीक्षण के मामले को लिखने के लिए वहां से चला गया।


0

मैं उस कोड के साथ एमएसीएस छोड़ता हूं जिसे मैं अगले दिन ऑन-स्क्रीन काम कर रहा था।

कभी-कभी मैं कोड में एक गैर-संकलित नोट लिखता हूं जो मुझे बताता है कि आगे क्या करना है।

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


0

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

जहां मैं था, उसके सप्ताहांत पर नज़र रखने के लिए, मैं खुद को बग ट्रैकर मुद्दे की संख्या के साथ एक नोट छोड़ देता हूं।


0

क्या आप एक संस्करण नियंत्रण प्रणाली का उपयोग कर रहे हैं? यदि हाँ, तो आपको दिन के अंत में अपने परिवर्तनों को करना चाहिए और यह वर्णन करना चाहिए कि आपने क्या किया और आपको टिप्पणी में आगे क्या करने की आवश्यकता है। और यदि नहीं, तो आप क्यों नहीं हैं?


2
-1 कभी भी कमिट नहीं करना चाहिए! यदि आप क्या कर रहे थे, तो क्या नहीं किया गया था? यहां तक ​​कि अगर आप डीवीसीएस का उपयोग कर रहे हैं, तो भी यह एक उपद्रव है। तार्किक परिवर्तन पर आधारित, दिन नहीं।
वैकल्पिक

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

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

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

0

मैं सिर्फ विज़ुअल स्टूडियो को बंद नहीं करता और दिन के अंत में विंडोज को हाइबरनेट करता हूं।


0

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


0

कई चीजें मदद करती हैं:

  • मैं "एएएएएएएएएएएएएएएएएएएएएएफएएएएएएएएएए" पाठ की तलाश करता है, जिसके लाभ हैं जो कोड नहीं चला सकते हैं (चाहे वह कोड संकलित हो या व्याख्या की गई हो), इसलिए मैं इसे याद नहीं कर सकता। इसके अलावा, यह टैग मेरे लिए चमकीले लाल रंग का है, जो सिंथेसिस के लिए धन्यवाद है , इसलिए कोड के एक बड़े हिस्से में भी इसे स्पॉट करना वास्तव में आसान है।

  • आईडीई स्थान जहां प्रत्येक खुला था पर फ़ाइलें पुन: खोलता है तो मैं जल्दी से याद कर सकते हैं कि मैं क्या कर रहा था, (और जो लाइनों प्रकाश डाला गया / breakpoints)।

  • मैं अपनी टूडू सूची में देख सकता हूं कि मैं किस समस्या को हल करने / लागू करने का प्रयास कर रहा था।


+1: मुझे यह बिल्कुल पसंद है: "इसके अलावा, यह टैग मेरे लिए चमकदार लाल है, जो मेरे लिए पर्यायवाची है ..."
पीटर रोवेल

0

चूँकि आपने यह नहीं कहा था कि आपको वास्तव में डिबग और रिलीज़ दोनों में संकलित करने के लिए कोड की आवश्यकता है, एक चाल मैं अक्सर करता हूं:

#if DEBUG
#error "YOU LEFT OFF HERE"
#endif

जिसे भूलना बहुत कठिन है। अन्यथा, मैं कोड में एक #pragma चेतावनी डालूंगा ताकि जब भी आप संकलन करें तो यह दिखाई दे।


0

मैं कई तरकीबें इस्तेमाल करता हूं:

  • @ @ कोड टिप्पणियों में या उन चीजों के लिए एक दस्तावेज़ में रखें जिन्हें वर्तमान पुनरावृत्ति में किया जाना चाहिए लेकिन तुरंत नहीं। कोई कोड या दस्तावेज़ मेरी मशीन नहीं छोड़ता है अगर इसमें @@ शामिल है।

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

  • बाद में तय / जोड़ी जाने वाली सभी चीजें एक उचित बग ट्रैकिंग सिस्टम में चली जाती हैं या डिजाइन दस्तावेजों में होती हैं।

और क्या आप सुनिश्चित हैं कि आपका विज़ुअल स्टूडियो आपके द्वारा काम कर रहे अंतिम स्थान को याद नहीं कर सकता है? "विजुअल स्टूडियो 2012 के साथ सस्पैंडिंग वर्क" का कहना है कि यह 2012 में किया जा सकता है ( विजुअल स्टूडियो स्टार्ट के लिए Google "लेफ्ट ऑफ" )

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