मैंने हाल ही में माइकल सी फेदर्स की पुस्तक Working effectively with legacy code
पढ़ी और उस बिंदु पर आया जहां उन्होंने स्वचालित रिफैक्टरिंग टूल की सुरक्षा का परीक्षण करने के लिए एक तरीका बताया।क्या .NET (या कम से कम सी #) के लिए कोई सुरक्षित रिफैक्टरिंग उपकरण है?
मेरा प्रश्न है: क्या .net प्लेटफ़ॉर्म के लिए कोई सुरक्षित रिफैक्टरिंग टूल हैं?; इसका मतलब है औजार जो केवल वास्तविक रिफैक्टरिंग और उदा। निम्नलिखित उदाहरण में temp
चर पर inline variable
रीफैक्टरिंग की अनुमति न दें, या कम से कम एक चेतावनी दिखाएं कि मैं तर्क बदल रहा हूं।
class Program
{
private static int _x;
static void Main()
{
int temp = Test();
for (int i = 0; i < 10; ++i)
{
Console.WriteLine(temp);
}
Console.ReadKey();
}
private static int Test()
{
return ++_x;
}
}
मैं रिफैक्टरिंग उपकरण Resharper
और Coderush + Refactor pro
नवीनतम संस्करणों के साथ और दोनों पर इस उदाहरण परीक्षण किया है और परीक्षण विफल करने के लिए पुनर्रचना की अनुमति दी:
class Program
{
private static int _x;
static void Main()
{
for (int i = 0; i < 10; ++i)
{
Console.WriteLine(Test());
}
Console.ReadKey();
}
private static int Test()
{
return ++_x;
}
}
आप एक उपकरण है जो * * भी एक अलग भाषा के लिए, जिस तरह से आप चाहते हैं प्रदर्शन करेंगे का एक उदाहरण है? –
असल में मैं यह चाहता हूं कि टूल इस विशेष रिफैक्टरिंग की पेशकश नहीं करेगा या किसी प्रकार की चेतावनी दिखाएगा कि इससे कोड का तर्क बदल जाएगा। चूंकि एक रिफैक्टरिंग को तर्क नहीं बदलना चाहिए, विकिपीडिया पर परिभाषा देखें: http://en.wikipedia.org/wiki/Refactoring। – RoXX