क्या किसी के पास कुछ टूल है या कुछ अनुशंसित अभ्यास है कि कोड का एक टुकड़ा कैसे ढूंढें जो किसी अन्य कोड के समान है?समान कोड खंड कैसे प्राप्त करें?
अक्सर मैं एक फ़ंक्शन या कोड खंड लिखता हूं और मुझे याद है कि मैंने पहले ही ऐसा कुछ लिखा है, और मैं पिछले कार्यान्वयन का पुन: उपयोग करना चाहता हूं, हालांकि सादा पाठ खोज का उपयोग करने से कुछ भी प्रकट नहीं होता है, क्योंकि मैंने इसका उपयोग नहीं किया परिवर्तनीय नाम जो बिल्कुल वही होंगे।
समान कोड टुकड़े होने के कारण अनावश्यक कोड डुप्लिकेशंस होता है, हालांकि एक बड़े कोड बेस के साथ सभी कोड स्मृति में रखना असंभव है। क्या कोई उपकरण है जो कोड के कुछ विश्लेषण और कार्यक्षमता के मामले में "समान" चिह्नित टुकड़े या कार्यों को चिह्नित करेगा?
निम्नलिखित पर विचार करें उदाहरण:
float xDistance = 0, zDistance = 0;
if (camPos.X()<xgMin) xDistance = xgMin-camPos.X();
if (camPos.X()>xgMax) xDistance = camPos.X()-xgMax;
if (camPos.Z()<zgMin) zDistance = zgMin-camPos.Z();
if (camPos.Z()>zgMax) zDistance = camPos.Z()-zgMax;
float dist = sqrt(xDistance*xDistance+zDistance*zDistance);
और
float distX = 0, distZ = 0;
if (cPos.X()<xgMin) distX = xgMin-cPos.X();
if (cPos.X()>xgMax) distX = cPos.X()-xgMax;
if (cPos.Z()<zgMin) distZ = zgMin-cPos.Z();
if (cPos.Z()>zgMax) distZ = cPos.Z()-zgMax;
float dist = sqrt(distX*distX +distZ*distZ);
मुझे ऐसा लगता है यह पहले से ही कहा गया है और जवाब कई बार:
https://stackoverflow.com/questions/204177/what-tool-to-find-code-duplicates-in-c-projects
How to detect code duplication during development?
मैं यहां डुप्लिकेट के रूप में बंद करने का सुझाव देता हूं।
वास्तव में मुझे लगता है कि यह एक अधिक सामान्य खोज समस्या है, जैसे: मैं कैसे खोज करते हैं, तो सवाल पहले से ही StackOverflow पर कहा गया था?
संबंधित प्रश्न - http://stackoverflow.com/questions/2490884/why-is-copy-and-paste-of-code- खतरनाक – Oded
संभावित डुप्लिकेट [विकास के दौरान कोड डुप्लिकेशन का पता लगाने के लिए कैसे?] (Http: //stackoverflow.com/questions/191614/how-to-detect-code-duplication-during-development) – Suma