2008-09-25 8 views

उत्तर

22

CDT (C/C++ विकास उपकरण - परियोजना ग्रहण) 5.0 नई refactorings

* Declare Method 
* Extract Baseclass 
* Extract Constant 
* Extract Method 
* Extract Subclass 
* Hide Method 
* Implement Method 
* Move Field/Method 
* Replace Number 
* Separate Class 
* Generate Getters and Setters 

का एक समूह वहाँ एक CDT रिफैक्टरिंग wiki

0

हाँ और उनमें से ज्यादातर वास्तव में अगर काम नहीं करते है कोड बहुत जटिल है। एक विधि, नाम बदलने, आदि जैसे चीजें कभी-कभी समस्याएं होती हैं।

+0

मैक्रोज़ और #if का उपयोग न करें और सब ठीक होने जा रहे हैं। –

0

सी ++ रिफैक्टरिंग समर्थन प्रदान करने के लिए एक बहुत कठिन भाषा है। ऐसा इसलिए है क्योंकि लैंगेज बहुत जटिल और पार्स करना मुश्किल है लेकिन इसकी ज्यादातर प्रीप्रोसेसर की वजह से है।

प्रीप्रोसेसर मुख्य कारण है कि सी/सी ++ आईडीई अन्य भाषाओं के पीछे क्यों है।

+0

वह, और तथ्य यह है कि सी ++ में स्टेटलेस व्याकरण नहीं है। –

2

सी ++ के लिए रीफैक्टरिंग टूल प्रदान करने के कई प्रयास हुए हैं, उनमें से अधिकतर बहुत जल्दी विफल रहे हैं, क्योंकि ऐसे उपकरणों के निर्माण के लिए सी ++ स्रोत कोड को संसाधित करने की पूरी क्षमता की आवश्यकता होती है, यानी आपको एक काम करने और पूर्ण सी ++ कंपाइलर की आवश्यकता होती है स्रोत परिवर्तन में स्वचालित स्रोत के सबसे बुनियादी रूपों को लागू करने के लिए पहली जगह।

सौभाग्य से, plugins into gcc की शुरूआत के साथ, यह आखिरकार यह अनुमान लगा रहा है कि संबंधित प्रयास वास्तव में इस उद्देश्य के लिए मौजूदा सी ++ कंपाइलर का लाभ उठाने में सक्षम हो सकते हैं, बजाय सी ++ कंपाइलर के अपने कार्यान्वयन का सहारा लेना।

गहराई से चर्चा के लिए, आप this देख सकते हैं।

समय के लिए, व्यापक रूप से स्वचालित सी ++ रिफैक्टरिंग समर्थन प्रदान करने के लिए सबसे आशाजनक उम्मीदवार निश्चित रूप से मोज़िला pork प्रोजेक्ट के साथ संबंधित संबंधित प्रोजेक्ट Dehydra के साथ प्रोजेक्ट है।

1

कुछ सी ++ रिफैक्टरिंग जिन्हें उदाहरण के लिए रेफ ++ द्वारा समर्थित किया जाता है, को सी ++ वाक्यविन्यास को पूरी तरह से समझने की आवश्यकता नहीं है। उदाहरण के लिए विधि खींचें, विधि को धक्का दें आदि काफी सरल हैं। किसी कारण से इस तरह के रिफैक्टरिंग सीडीटी रिफैक्टरिंग में लागू नहीं किए जाते हैं।

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