मुझे जावा स्ट्रिंग्स के रूप में लिखे गए एसक्यूएल स्टेटमेंट के साथ कुछ जावा कोड मिला है (कृपया कोई OR / M फ्लैमेवार नहीं है, एम्बेडेड SQL यही है - यह मेरा निर्णय नहीं है)।
मैंने एसक्यूएल स्टेटमेंट को रखरखाव की आसानी के लिए कोड के कई लाइनों पर कई संक्षिप्त स्ट्रिंग्स में शब्दार्थ से तोड़ दिया है। तो इसके बजाय कुछ की तरह:
String query = "SELECT FOO, BAR, BAZ FROM ABC WHERE BAR > 4";
मेरे पास कुछ है:
String query =
"SELECT FOO, BAR, BAZ" +
" FROM ABC " +
" WHERE BAR > 4 ";
यह शैली विशेष रूप से बड़े प्रश्नों के लिए SQL (IMHO) को पढ़ने और बनाए रखने में बहुत आसान बनाती है। उदाहरण के लिए, मैं अपने संपादक को "ओवरराइट" मोड में रख सकता हूं और पाठ को काफी आसानी से संशोधित कर सकता हूं।
ध्यान दें कि यह समस्या SQL के विशेष उदाहरण से परे सामान्यीकृत करती है। कोई भी कोड जो किसी भी ऊर्ध्वाधर स्वरूपण, विशेष रूप से सारणीबद्ध निर्माणों के साथ लिखा जाता है, एक सुंदर प्रिंटर द्वारा विनाश के लिए अतिसंवेदनशील होता है।
अब, कुछ परियोजना सदस्य ग्रहण संपादक का उपयोग करते हैं और शब्दार्थ स्वरूपण अक्सर तब नष्ट हो जाता है जब वे संपूर्ण स्रोत फ़ाइल को प्रारूपित करते हैं।
क्या फॉर्मेटिंग के संबंध में स्रोत की कुछ पंक्तियों को अनदेखा करने के लिए ग्रहण को निर्देश देने का एक तरीका है?
मैं एक विशेष टिप्पणी की तरह कुछ ढूंढ रहा हूं जो ग्रहण फॉर्मेटर को जन्म देती है। आदर्श रूप में, इस तरह की टिप्पणी को हम जो भी चुनते हैं, उसके लिए कॉन्फ़िगर किया जा सकता है, और अन्य फ़ॉर्मेटर्स को इस तरह से सम्मान करने के लिए प्रोग्राम किया जा सकता है:
// STOP-ECLIPSE-FORMATTING
String query =
"SELECT FOO, BAR, BAZ" +
" FROM ABC " +
" WHERE BAR > 4 ";
// START-ECLIPSE-FORMATTING
जाहिर है, एक "समाधान" हमारी टीम के सदस्यों की तरह कुछ बाहरी फ़ॉर्मेटर को मानकीकृत है पुरानी गड़ी या JIndent , लेकिन है कि क्या इस सवाल (भी इस परियोजना पर अपना निर्णय नहीं) के बारे में है नहीं है: मैं विशेष रूप से के लिए एक रास्ता तलाश कर रहा हूँ एड-हॉक आधार पर ग्रहण फॉर्मेटर से बचें।
आदर्श रूप से, एक समाधान मुझे ग्रहण करने वाले टीम के सदस्यों की आवश्यकता के बिना एक्लिप्स फॉर्मेटर के लिए निर्देश सम्मिलित करने की अनुमति देगा, ताकि किसी भी आईडीई पुनर्निधारण के लिए एक्लिप्स का उपयोग किया जा सके (संभवतः एक फॉर्मेट एग्नोस्टिक कमांड कमेंट चुनने के अलावा: STOP-ECLIPSE-FORMATTING
→ STOP-FORMATTING
)।