2008-09-11 15 views
8

रीशेपर कोड क्लीनअप सुविधा ("reorder members" और "reformat code" सक्षम के साथ) वास्तव में बहुत अच्छा है। आप XML का उपयोग करके एक लेआउट टेम्पलेट को परिभाषित करते हैं, फिर टेम्पलेट में सेट नियमों के अनुसार एक साधारण कुंजी संयोजन आपकी संपूर्ण स्रोत फ़ाइल (या फ़ोल्डर/प्रोजेक्ट/समाधान) को पुनर्गठित करता है।रीशेपर कोड क्लीनअप/सुधार कोड फीचर बनाम वर्जनिंग कंट्रोल सिस्टम

वैसे भी, क्या आपको लगता है कि वीसीएस से संबंधित सबवर्सन, सीवीएस, गिट इत्यादि जैसी समस्या हो सकती है? क्या कोई मौका है कि यह कई अवांछित संघर्षों का कारण बनता है?

धन्यवाद।

उत्तर

16

हां, यह निश्चित रूप से समस्याएं पैदा करेगा। उन संघर्षों को बनाने के अलावा जिन्हें मैन्युअल रूप से हल किया जाना है, जब आप किसी फ़ाइल में सुधार किए गए चेक-इन करते हैं, तो वीसीएस लगभग हर पंक्ति को बदलकर नोट करेगा। इससे आपके लिए या टीम के साथी को इतिहास में वापस देखना मुश्किल होगा और देखें कि कब बदल गया।

उस ने कहा, यदि हर कोई अपने कोड को उसी तरह से स्वत: बना देता है (यानी, आप उस XML टेम्पलेट को टीम में वितरित करते हैं), तो यह अच्छी तरह से काम कर सकता है। समस्याएं वास्तव में तब आती हैं जब हर कोई एक ही काम नहीं कर रहा है।

+10

मैं इन परिस्थितियों में जो सिफारिश करता हूं वह दो भागों में चीजें कर रहा है। एक स्वीप में आप कोड साफ़ करते हैं और दूसरे में आप अपना परिवर्तन करते हैं। दो अलग-अलग प्रतिबद्ध संदेश। इस तरह से आपने जो किया है उसे पूर्ववत करना आसान है * और * अपने फिक्स के साथ क्या बदलना है। मेरी राय में, कई कामों में बहुत सी चीजों को प्रतिबद्ध करना एक अच्छा अभ्यास है। दूसरों को यह पता चले कि क्या और क्यों * अधिक * आसान है। –

2

यह निश्चित रूप से संघर्ष का कारण बन सकता है, इसलिए मैं सुनिश्चित करता हूं कि यदि आप समानांतर में काम कर रहे हैं तो आप पूरी फाइलों को दोबारा सुधार नहीं पाएंगे।

0

यह निश्चित रूप से संघर्ष का कारण बन सकता है।

यदि आप इसे बहु-उपयोगकर्ता वातावरण में उपयोग करना चाहते हैं तो Resharper की कॉन्फ़िगरेशन को आपके कोड को मानकों के एक सेट में प्रारूपित करने की आवश्यकता है जो आपके संगठन में लागू हों, भले ही उपयोगकर्ता Resharper का उपयोग करें या नहीं।

इस तरह आप यह सुनिश्चित करने के लिए टूल का उपयोग कर रहे हैं कि आपका कोड मानकों को पूरा करता है, कंबल नहीं, जो आपकी प्राथमिकताओं को पूरे कोडबेस पर लागू करता है।

0

मैं पिछले उत्तरों के साथ सहमत हूं कि यह बताता है कि विवाद संभव है और यहां तक ​​कि संभावना भी है।

यदि आप कोड को दोबारा सुधारने की योजना बना रहे हैं तो कम से कम सुनिश्चित करें कि आप वास्तविक कोड के फ़ंक्शन को बदलने वाले लोगों के साथ सुधार चेकइन मिश्रण नहीं करते हैं। इस तरह लोग पिछले चेक-इन को छोड़ सकते हैं जो सरल सुधार हैं। यह सुनिश्चित करना भी एक अच्छा विचार है कि हर कोई एक सुधार को जानता है ताकि वे उस क्षेत्र में चल रहे काम पर ऑब्जेक्ट कर सकें।

7

मैं एक आईडीई या एक संपादक की प्रतीक्षा कर रहा हूं जो हमेशा कुछ बेसलाइन प्रारूपण नियमों का उपयोग करके स्रोत कोड सहेजता है, लेकिन प्रत्येक व्यक्तिगत डेवलपर को कोड को अपने पसंदीदा प्रारूप में प्रदर्शित और संपादित करने की अनुमति देता है। इस तरह मैं अगली पंक्ति की शुरुआत में अपना खुला घुंघराले ब्रेस डाल सकता हूं, न कि वर्तमान लाइन के अंत में जहां आप सभी को लगता है कि यह जाता है।

मेरा अनुमान है कि मैं लंबे समय तक इंतजार कर रहा हूं।

2

आप मानकों के एक व्यापक सेट को लागू करने के लिए StyleCop का उपयोग कर सकते हैं जो हर किसी को समान लेआउट शैलियों का उपयोग करने के लिए मजबूर करता है। तो आपको बस इतना करना है कि एक रीशेपर कोड शैली विनिर्देश विकसित करें जो इससे मेल खाता है, और इसे टीम में वितरित करता है।

मैं अभी भी someone else to do this के लिए इंतज़ार कर रहा हूँ, और जेटब्रेन्स, सभी तुच्छ विवरण जो पूरी तरह से समर्थित नहीं हैं स्पष्ट करने के लिए के लिए आदेश की अनुमति के लिए ReSharper मूल रूप से पूर्ण StyleCop अनुपालन की गारंटी के लिए।

7
  • बस पूरे समाधान एक बार
  • पुनः फ़ॉर्मेट करने और यह सुनिश्चित करें कि हर डेवलपर Resharper
  • उपयोग कर रहा है और यह सुनिश्चित करें वे फ़ॉर्मेटिंग विकल्पों साझा कर रहे हैं बनाने के लिए और संस्करणीकृत (कोड शैली साझा करने के विकल्प)
0

हम स्रोत कोड स्तर पर रिफैक्टर के साथ काम करने के लिए कुछ पर काम कर रहे हैं। हम इसे ज़मेर कहते हैं, और अब यह Plastic का हिस्सा है। यह सिर्फ पहला दृष्टिकोण है, क्योंकि हम अधिक उन्नत समाधानों पर काम कर रहे हैं। इसे here देखें।

0

अपने स्रोत नियंत्रण इतिहास में प्रत्येक संस्करण को देखने के लिए एक स्क्रिप्ट लिखना अच्छा विचार हो सकता है, कोड सफाई लागू करें, फिर इसे एक नए भंडार में देखें। फिर भविष्य में अपने सभी कामों के लिए उस भंडार का उपयोग करें।

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