2011-01-12 8 views
7

इसलिए मैं अपने आप से अपेक्षाकृत बड़ी परियोजना पर काम कर रहा हूं, और मुझे एहसास हुआ है कि पहले कुछ परिवर्तनीय नाम आदर्श थे।प्रोजेक्ट में परिवर्तनीय नाम बदलने का सबसे सुरक्षित तरीका

लेकिन किसी परियोजना में आसानी से परिवर्तनीय नाम कैसे बदलते हैं? क्या ऐसा कोई उपकरण है जो किसी प्रोजेक्ट निर्देशिका के माध्यम से जा सकता है, सभी फ़ाइलों को पार्स कर सकता है, और फिर वेरिएबल नामों को वांछित में बदल सकता है? मुझे कल्पना की जाने वाली भाषा को समझने के लिए पर्याप्त स्मार्ट होना चाहिए।

मैं वैरिएबल नाम को प्रतिस्थापित करने के लिए regexp (sed/awk linux?) टूल्स का उपयोग करने के बारे में सोच रहा था, लेकिन कई बार थे जहां मेरे विशेष चर को स्ट्रिंग्स के हिस्से के रूप में भी शामिल किया गया था।

सी ++ नेमस्पेस पर सामान बदलने के बारे में भी समस्या है, क्योंकि वास्तव में मेरे प्रोजेक्ट में दो वर्ग हैं जो समान नाम साझा करते हैं, लेकिन अलग-अलग नामस्थानों में हैं।

मुझे याद है कि दृश्य स्टूडियो ऐसा करने में सक्षम है, लेकिन लिनक्स पर ऐसा करने का सबसे सुरक्षित और सबसे शानदार तरीका क्या है?

उत्तर

5

सबसे सुरक्षित (गैर स्वचालित तरीका) रास्ता:

  1. सुनिश्चित करें कि आपके सभी इकाई परीक्षण काम करें।
  2. सबकुछ स्रोत नियंत्रण में सहेजें।
  3. वैश्विक रूप से XXXvarXXX (गंभीरता से)
    ए के साथ var को प्रतिस्थापित करें। या शायद आपको लगता है कि फ़ाइलों को संपादन की जरूरत है।
  4. कोशिश करें और संकलित करें। जो कुछ भी संकलित नहीं करता है वह केवल XXX को हटाने के लिए आसान है।
  5. जब यह यूनिट परीक्षण चलाता है संकलित करता है।
  6. जब इकाई परीक्षण कार्य करता है। नए नाम पर XXXvarXXX की वैश्विक प्रतिस्थापन करें।
  7. सुनिश्चित करें कि इकाई परीक्षण अभी भी
  8. स्रोत नियंत्रण में सबकुछ सहेजें।

गाल में केवल आधा जीभ। :-)

+3

काटने मत करो। –

6

इसे रीफैक्टरिंग कहा जाता है, लेकिन मुझे याद नहीं है कि सी ++ में ऐसा करने का कोई शानदार तरीका है - मुझे लगता है कि शायद Eclipse C++ था; एक नज़र रखना लायक हो सकता है।

+2

ग्रहण में वास्तव में यह है, और यह आश्चर्यजनक रूप से काम करता है। – Dawson

+0

@ टूलबॉक्स: कूल, सत्यापन के लिए धन्यवाद! +1 :) – Mehrdad

+2

ग्रहण सीडीटी में है। QtCreator यह है। विजुअल स्टूडियो में यह है। विजुअल स्टूडियो के लिए विजुअल असिस्ट एक्स इसे और भी बेहतर बनाता है। विम यह है। आपको बात समझ में आई। –

1

मुझे याद है कि दृश्य स्टूडियो ऐसा करने में सक्षम है, लेकिन लिनक्स पर ऐसा करने का सबसे सुरक्षित और सबसे शानदार तरीका क्या है?

लिनक्स के लिए उपलब्ध पुन: फैक्टरिंग टूल का उपयोग करके आप एक्लिप्स में दृश्य स्टूडियो में जो कुछ भी करते थे, वह आप कर सकते हैं।

0

मुझे पता है सी # और विजुअल स्टूडियो में एक महान परिवर्तनीय परिवर्तक है, लेकिन क्या यह सभी दस्तावेजों के माध्यम से काम नहीं करता है। मुझे पता है कि जब आप C# में एक चर बदलते हैं तो यह वेरिएबल टेक्स्ट के बगल में पॉप अप करता है। Change All

हालांकि आप एकमात्र विकल्प से फंस सकते हैं। चर बदलें और देखें कि संकलक गलत कहां जाता है। हालांकि अपने आदर्श नहीं है, लेकिन अपने ही पसंद

+0

यह वास्तव में आदर्श से काफी दूर है। आप उन जगहों पर दौड़ सकते हैं जो चुपचाप दायरे के कारण चुपचाप एक और चर चुनते हैं। मैं कम से कम एक grep चलाने और उन सभी को अलग करने की कोशिश करेंगे। –

+0

हाँ आप एक शेल स्क्रिप्ट कर सकते हैं। मुझे यकीन है कि मैंने कहा कि यह आदर्श नहीं है –

1

$ 400 एक f'n प्रतिलिपि हो सकता है, लेकिन यहाँ तुम जाओ: यह इस्तेमाल कभी नहीं किया http://www.xref.sk/xrefactory/download.html

मैं निश्चित रूप से है।

+0

दिलचस्प है, तो यह एक उपकरण के लिए कितना चार्ज करेगा जिसमें सी ++ पार्सर शामिल है? – kamziro

0

निजी चर का उपयोग करें, चर का नाम बदलें और स्पष्ट उपयोग, कंपाइलर त्रुटियों को सही करें।

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

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