2008-10-12 4 views
48

मैंने अपनी परियोजनाओं में जावा के enums का उपयोग करना शुरू कर दिया है (मुझे काम पर जेडीके 1.4 का उपयोग करना है) और मैं एक enum के लिए JavaDoc का उपयोग करने के सर्वोत्तम अभ्यास के रूप में उलझन में हूँ।जावा एनम दस्तावेज करने के लिए जावाडॉक का उपयोग करने का सबसे अच्छा तरीका क्या है?

मैं पाया है इस विधि से काम करता है, लेकिन उसके एवज में कोड एक छोटे से अपरिष्कृत है कि:

/** 
* Doc for enum 
*/ 
public enum Something { 
/** 
* First thing 
*/ 
FIRST_THING, 
/** 
* Second thing 
*/ 
SECOND_THING; 
//could continue with more 
} 

वहाँ किसी भी तरह से मैं उन्हें कॉमा से चेनिंग बिना अपने स्वयं के तर्ज पर enum घोषणाओं को तोड़ने सकता है, या क्या यह एक enum के लिए JavaDoc का उपयोग करने के लिए सबसे अच्छा तरीका है?

+3

दरअसल, कम से कम जेडीके 1.7 (अन्य संस्करणों का परीक्षण नहीं किया गया) के लिए, अंतिम * सहित * हर * एनम मूल्य के बाद कॉमा होने के लिए पूरी तरह से कानूनी है। अंतिम मूल्य के बाद बस लाइन पर अर्धविराम डालें, और आप ठीक हैं। यह अल्पविराम या अर्धविराम का उपयोग करने के बारे में चिंता किए बिना, मूल्यों को चारों ओर स्थानांतरित करना या निकालना आसान बनाता है। – Bart

उत्तर

31

अपने प्रश्न के पहले भाग का जवाब देने के लिए, आपको प्रत्येक एनम मूल्य को अल्पविराम से अलग करना होगा। जहां तक ​​मुझे पता है, उसके आस-पास कोई रास्ता नहीं है।

व्यक्तिगत रूप से मुझे आपके द्वारा प्रस्तुत किए गए कोड के साथ कोई समस्या नहीं है। मुझे एक enum दस्तावेज करने के लिए एक बिल्कुल सही तरीका लगता है।

13

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

मुझे लगता है कि दस्तावेज़ों को दस्तावेज करने का सबसे अच्छा तरीका नियमित कक्षाओं के समान है: enum प्रकार को पूरे ("Something values are used to indicate which mode of operation a client wishes...") के कार्य और भूमिका का विवरण मिलता है और प्रत्येक enum मान को इसके बारे में एक जवाडोक विवरण मिलता है उद्देश्य और कार्य ("FIRST_THING indicates that the operation should evaluate the first argument first..")।

यदि एनम मूल्य विवरण कम हैं तो आप उन्हें /** Evaluate first argument first. */ के रूप में एक पंक्ति पर रखना चाहते हैं, लेकिन मैं प्रत्येक एनम मूल्य को अपनी लाइन पर रखने की सलाह देता हूं। अधिकांश आईडीई को स्वचालित रूप से इस तरह प्रारूपित करने के लिए कॉन्फ़िगर किया जा सकता है।