आम तौर पर मैं बहुत कम टिप्पणी करता हूं। मेरा मानना है कि बिना किसी टिप्पणी के अच्छे कोड को पढ़ना आसान होना चाहिए।
मैं भी अपना कोड संस्करण। मुझे लगता है कि मैं पिछले बीस चेकइन पर अंतर कर सकता हूं यह देखने के लिए कि किसी विशेष कारण के लिए कोई विशेष पंक्ति बदल गई है या नहीं। लेकिन यह ज्यादातर बदलावों के लिए मेरे समय का एक बड़ा अपशिष्ट होगा।
तो मैं अपने कोड को स्मार्ट तरीके से टिप्पणी करने का प्रयास करता हूं। अगर किसी स्पष्ट कारण के लिए कुछ कोड हटाया जा रहा है, तो मैं हटाने को टिप्पणी करने के लिए परेशान नहीं होगा। लेकिन अगर सूक्ष्म कारण के लिए कोड का एक टुकड़ा हटा दिया जा रहा है (उदाहरण के लिए यह एक ऐसा फ़ंक्शन निष्पादित करता है जिसे अब एक अलग थ्रेड द्वारा संभाला जा रहा है) मैं कोड को टिप्पणी या हटा दूंगा और बैनर टिप्पणी जोड़ूंगा:
// this is now handled by the heartbeat thread
// m_data.resort(m_ascending);
या:
// don't re-sort here, as it is now handled by the heartbeat thread
बस पिछले महीने, मैं कोड है कि मैं एक साल पहले बदल गया था एक विशेष समस्या को हल करने का एक टुकड़ा का सामना करना पड़ा है, लेकिन एक टिप्पणी कारणों का स्पष्टीकरण देने में नहीं जोड़ा। यहाँ
cutoff = m_previous_cutofftime;
और कोड के रूप में यह शुरू में एक सही कटऑफ समय का उपयोग करने के लिए जब एक बाधित राज्य शुरू करने तय किया गया था है:: यहाँ मूल कोड है
cutoff = (!ok_during) ? m_previous_cutofftime : 0;
बेशक
एक और असंबंधित मुद्दा आया था, जो कोड की एक ही पंक्ति को छूने के लिए हुआ, इस मामले में इसे वापस अपने मूल स्थिति में वापस कर दिया। तो नया मुद्दा अब तय किया गया था, लेकिन पुरानी समस्या अचानक फिर से हो गई। डी 'ओह!
तो अब चेक-इन किया कोड इस तरह दिखता है:
// this works for overlong events but not resuming
// cutoff = m_previous_cutofftime;
// this works for resuming but not overlong events
// cutoff = (!ok_during) ? m_previous_cutofftime : 0;
// this works for both
cutoff = (!resuming || !ok_during) ? m_previous_cutofftime : 0;
बेशक
, YMMV।
स्रोत
2008-11-11 17:21:31
हालांकि, ऐसी स्थितियां हो सकती हैं जिनमें आप कहते हैं "मैंने इसे हटा दिया है, इस वजह से यहां जाना चाहिए" विशेष रूप से यदि यह अनजान है। हालांकि, ये स्थितियां बहुत कम और बहुत दूर हैं। –
यह एक उचित बिंदु है। यह चिह्नित करना कि कोड क्या करता है, यह उम्मीद करने से कहीं अधिक सहज है कि डेवलपर फ़ाइल के पूरे परिवर्तन इतिहास को तैयार करेगा। –