2009-09-21 64 views
78

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

+3

यह एक 'बुरा' TODO है ... –

+5

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

उत्तर

87

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

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

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

FreeBSD code cross reference पर 'XXX' के लिए खोज करना कई उपयोगों का एक अच्छा उदाहरण है। हजारों हैं ...

+0

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

+4

इसने मेरे मूल अनुमान की पुष्टि की, यह केवल अन्य टैगर्स को इंगित करने के लिए है कि अन्य प्रोग्रामर को उस टिप्पणी को हाइलाइट करने के लिए कुछ टिप्पणी करने के लिए इंगित करें। –

15

June 2005 Python Enhancement Proposal that was rejected से कुछ नोट्स।

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

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


पीईपी के साथ शुरू होता है,

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

...

Codetags क्या हैं?

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


पीईपी एक दिलचस्प पढ़ा है।

2

एक प्लेसहोल्डर है, आमतौर पर कोड यह को संदर्भित करता है जिसका अर्थ है:

  • बदसूरत
  • डरावना
  • जादू

या बुरा।

+4

वह क्यों है? मुझे लगता है # हैक अधिक उपयुक्त है। मेरे अपने अनुभव और अन्य उत्तर से यह एक "सामान्य रूप से मुझे लगता है" –

4

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

XXX जब आप जल्दी में हों और उसके लिए वापस आ जाएंगे।

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

+0

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

+1

और कौन सी आरएफसी उन "शाब्दिक अर्थ" हैं? या इसके लिए कोई अन्य उद्धरण है? – Randall

+5

@ रैंडल: "उद्धरण"? क्षमा करें, बहुत सारे कोड पढ़ने के बाद यह मेरी समझ है। –

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

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

+2

अच्छी सूची। मुझे 'लाज़ी' (फिक्सम या हैक के रूप में महत्वपूर्ण नहीं) और 'ओसीडी' (ज्ञात ओवेरिनियरिंग) भी पसंद है। –

0

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

0

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

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

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

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

4

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

1
(पुराने) से

Java code conventions:

उपयोग झंडा कुछ है कि फर्जी है, लेकिन काम करता है के लिए एक टिप्पणी में XXX करें। फर्जी और टूटी हुई चीज़ को ध्वजांकित करने के लिए FIXME का उपयोग करें।

संबंधित मुद्दे