कोड टिप्पणियों में #XXX का अर्थ क्या है?


126

मैंने इसे कोड में बहुत देखा है, यहां तक ​​कि इसे एक विशेष मामले के रूप में चिह्नित करता है। #TODOऔर #FIXMEदो अन्य फिक्स मार्कर हाइलाइट हैं, लेकिन क्या #XXXमतलब है?


7
प्रश्न कोडेटैग के बारे में पूछ रहा है या पायथन प्रोग्रामिंग में सर्वोत्तम प्रथाओं पर टिप्पणी करता है। इस विषय पर पाइथन एन्हांसमेंट प्रस्ताव चर्चा है। सवाल एसओ पर बनाए रखने का हकदार है। हालांकि इसे थोड़ा बेहतर कहा जा सकता था।
निक

जवाबों:


140

XXXएक टिप्पणी में आमतौर पर एक सिर है। यह हो सकता था:

  • ऐसा कुछ जिसे पूरी तरह से सही तरीके से लागू नहीं किया गया है।
  • कुछ ऐसा जिसे बाद में ठीक किया जाना चाहिए।
  • संभावित समस्या स्पॉट को हाइलाइट करना।
  • एक सवाल के बारे में आप निश्चित नहीं हैं।

मैं अक्सर की तरह एक और वर्णनात्मक टैग पसंद किया गया है FIXMEया TODOया HACKXXXअक्सर उपरोक्त सभी के लिए एक पकड़ के रूप में प्रयोग किया जाता है।

FreeBSD कोड क्रॉस रेफरेंस पर 'XXX' की खोज कई उपयोगों का एक अच्छा उदाहरण है। हजारों हैं ...


क्या मजेदार बात है कि मैं इसका उपयोग अपने दम पर करता हूं। XXX या #XXX मूल रूप से संकलक को यात्रा करता है और मुझे किसी चीज़ पर वापस जाने की याद दिलाता है। आम तौर पर सूचक संदर्भ या पहले से अज्ञात मान या चर नाम।
बॉबी

5
इसने मेरे मूल अनुमान की पुष्टि की, यह केवल अन्य प्रोग्रामरों को इंगित करने के लिए उस टिप्पणी को उजागर करने के लिए सभी टैग को पकड़ने के लिए एक टैग है।
जॉर्ज वर्गास

कोई ट्रोल करने की कोशिश नहीं कर रहा है, लेकिन "हैक" वर्णनात्मक नहीं है। वास्तव में, यह बहुत अस्पष्ट है। मेरे लिए, यह कम से कम 3 चीजों का मतलब हो सकता है।
урослав Рахматуллин

2
@ УрославРахматуллин स्रोत कोड में मैं हमेशा इसे "यह एक बदसूरत हैक काम है, में पढ़ा होगा, लेकिन अच्छी तरह से काम करने के लिए लगता है" समझदारी - कुछ आप बाद में साफ करना चाहते हैं, लेकिन जरूरी नहीं है। मैंने इसका उपयोग नहीं किया है (मैं आमतौर पर उपयोग करता हूं TODOया XXXइसके बजाय), लेकिन यह है कि मैं इसकी व्याख्या कैसे करूंगा।
इरिडीन

92
  • NOTE: कोड कैसे काम करता है (जब यह स्पष्ट नहीं है) का विवरण।
  • XXX: संभावित नुकसान के बारे में चेतावनी, के रूप में इस्तेमाल किया जा सकता है NOTE:XXX:
  • HACK: किसी समस्या / बग को दरकिनार करने के लिए बहुत अच्छी तरह से लिखा या विकृत कोड नहीं। के रूप में इस्तेमाल किया जाना चाहिए HACK:FIXME:
  • FIXME: यह काम करता है, लेकिन यह बेहतर किया जा सकता है। (आमतौर पर कोड जल्दी में लिखा जाता है जिसे पुनर्लेखन की आवश्यकता होती है)।
  • BUG: यहाँ एक समस्या है।
  • TODO: कोई समस्या नहीं है, लेकिन अतिरिक्त कोड को लिखने की आवश्यकता है, आमतौर पर जब आप कुछ छोड़ रहे होते हैं।

कम से कम इस तरह से मुझे इन टैग के बारे में सिखाया गया था। मूल रूप से पहले दो ( NOTEऔर XXX) सूचना के लिए उपयोग किए जाते हैं और किसी भी कार्रवाई की आवश्यकता नहीं होती है। जबकि पिछले तीन ( FIXME, BUGऔर TODO) कार्रवाई की आवश्यकता है। HACKके बीच कहीं है (और शायद ही कभी इस्तेमाल किया मुझे लगता है?)।


3
अच्छी सूची है। मुझे भी पसंद है LAZY( OCDFIXME या HACK के रूप में महत्वपूर्ण नहीं है) और (ज्ञात अतिव्यापी)।
ब्रेंडन बायरड

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

21

जून 2005 के पायथन एन्हांसमेंट प्रस्ताव के कुछ नोट जिन्हें अस्वीकार कर दिया गया था

के बीच चुनना FIXMEऔर XXXमुश्किल है।
XXXअधिक सामान्य प्रतीत होता है, लेकिन बहुत कम वर्णनात्मक।
इसके अलावा, XXXकोड के एक टुकड़े में एक उपयोगी प्लेसहोल्डर है
अज्ञात मूल्य वाले है।

इस प्रकार FIXMEपसंदीदा वर्तनी है।
सूर्य कहते हैं कि XXXऔर FIXMEथोड़ा अलग हैं, XXXउच्च गंभीरता दे रहे हैं ।
हालांकि, इस विषय पर दशकों से अराजकता, और कई लाखों
डेवलपर्स जो सूर्य से प्रभावित नहीं होंगे, उन्हें सही तरीके से पर्यायवाची कहना आसान है।


PEP के साथ शुरू होता है,

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

...

Codetags क्या हैं?

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


पीईपी एक दिलचस्प रीड है।


10

पर एक नज़र डालें PEP350 । यह सभी के बारे में बताता है TODO, XXXआदि मैं इसे हर रोज इस्तेमाल करता हूं जब मुझे याद नहीं रहता कि कोड टैग का क्या मतलब है।


1
क्या आप जानते हैं कि PEP350 इन लेबल का मूल है? क्या आप इन लेबल का उपयोग करने का वर्णन करने वाले किसी भी पुराने दस्तावेज़ (यूनिक्स युग से) को जानते हैं?
урослав Рахматуллин

6

मैं उपयोग करता हूं XXXक्योंकि यह टाइप करना आसान है TODO

XXX तब होता है जब आप जल्दी में होते हैं और अपने आप इस पर वापस आ जाएंगे।

TODO तब होता है जब आपको इसे किसी और को सौंपना होता है।


XXX का अर्थ है "मैं जल्दबाज़ी में हूं और अपने आप ही इस पर वापस आ जाऊंगा" TODO का अर्थ है "यह भविष्य के बैकलॉग अनुरोध का एक आधिकारिक हिस्सा है जिसे किसी और को सौंपा जाएगा।" वे शाब्दिक अर्थ हैं।
S.Lott

2
और कौन से RFC उन "शाब्दिक अर्थ" में हैं? या उसके लिए कोई और प्रशस्ति पत्र है?
रान्डेल

6
@ रैंडल: "प्रशस्ति पत्र"? क्षमा करें, बहुत सारे कोड पढ़ने के बाद यह सिर्फ मेरी समझ है।
एस.लॉट


3

(पुराने) जावा कोड सम्मेलनों से :

किसी ऐसी चीज़ को चिह्नित करने के लिए XXX का उपयोग करें जो फर्जी है लेकिन काम करती है। FIXME का उपयोग किसी ऐसी चीज़ को चिह्नित करने के लिए करें जो फर्जी और टूटी हुई हो।


1

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


0

मेरा मानना ​​है कि जब FIXMEडेवलपर के लिए है, और HACKअनुचर के XXXलिए है, उपयोगकर्ता के लिए है।

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

लेकिन इसके लिए FIXME, आप इसे काम करने के लिए कोड को ठीक करने के लिए योग्य महसूस करेंगे। और इसके लिए HACK, आपके पास इसका उपयोग न करने पर भी आपके पास कोई बेहतर विकल्प नहीं हो सकता है।

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


0

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

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