स्टाइलकॉप बनाम एफएक्सकॉप


जवाबों:


171

स्टाइलकॉप एक शैली विश्लेषण उपकरण है जो स्रोत कोड स्तर पर काम करता है। यह मुख्य रूप से एक एकल सामान्य शैली प्रदान करने के लिए मौजूद है जो प्रबंधित परियोजनाओं का उपयोग प्रबंधित सॉफ़्टवेयर की बड़ी दुनिया के अनुरूप बने रहने के लिए कर सकता है। यह मुख्य रूप से पवित्र युद्धों से बचने के लिए शैली के बारे में निर्णय लेता है (आखिरकार, शैली लगभग हमेशा एक स्वाभाविक विषय है)। मुझे नहीं लगता कि मैं कभी किसी से मिला हूं जो स्टाइलकॉप के सभी नियमों को पसंद करता है, लेकिन यह ठीक है । इसका मतलब है कि स्टाइलकॉप शैली के दिशा निर्देशों के विशाल सेट के बीच एक आम तौर पर अच्छा समझौता है। (यदि स्टाइलकॉप के नियम अत्यधिक अनुकूलन योग्य थे, तो उन्हें सक्षम / अक्षम करने से परे, यह टूल के पूरे उद्देश्य को हरा देगा।)

दूसरी ओर, FxCop एक स्थिर विश्लेषण उपकरण है जो प्रबंधित असेंबली के स्तर पर काम करता है। इसे विशेषताओं के माध्यम से दिशा-निर्देश दिए जा सकते हैं क्योंकि यह कोड तत्वों पर विशेषता देख सकता है, जैसे। यह उन समस्याओं का पता लगाता है जिन्हें "बाइनरी" स्तर पर देखा जा सकता है (जैसा कि यह था) सिंटैक्टिक स्तर के विपरीत।

आपके प्रश्न का उत्तर देने के लिए, स्टाइलकॉप FxCop को सुपरसीड नहीं करता है, और FxCop सुपरसीड को स्टाइलकोप नहीं करता है। वे दो अलग-अलग उपकरण हैं जिनके दो अलग-अलग उद्देश्य हैं जो दोनों आपके कोड के लिए वास्तविक लाभ प्रदान कर सकते हैं।

(AKA, मैं दोनों के साथ दौड़ता हूं। :))


चीजों का एक युगल उदाहरण जो एक का पता लगा सकता है बनाम दूसरी चीजें जो पता लगा सकती हैं:

स्टाइलकॉप उल्लंघनों में शामिल हो सकते हैं चेतावनियाँ: व्हॉट्सएप, फ़ॉर्मेटिंग, सार्वजनिक विधि प्रलेखन xml- टिप्पणियों के माध्यम से, एक वर्ग के भीतर विधि परिभाषा का क्रम।

FxCop के उल्लंघनों में शामिल हो सकते हैं: वैश्वीकरण, तंग युग्मन, चक्रीय जटिलता, संभावित अशांति।


1
हां, दोनों की तुलना करने वाले पिछले उत्तर सभी मामलों में गलत हैं। स्टाइलकॉप और एफएक्सकोप दो बहुत अलग कार्य करते हैं, और यह आपके मूल्य को जांचने के लायक है कि आपके कोडबेस पर प्रत्येक प्रदान करता है और आपको उन्हें क्यों चलाना चाहिए।
जेडीजा

3
इस बात से सहमत हैं कि सभी स्टाइलकॉप नियम अच्छे नहीं हैं, लेकिन जैसा कि आप कहते हैं कि जो आप नहीं चाहते हैं वह अक्षम हो सकता है। हम स्टाइलकॉप का उपयोग कर रहे हैं - सादे बेवकूफ नियमों को अक्षम करने के बाद यह हमारे लिए अच्छा मूल्य प्रदान कर रहा है - कम लागत पर ..! सिफारिश की। (ध्यान दें कि हम इसे पहली नज़र में नफरत करते थे ..)
stiank81

@ stiank81: हाँ, मुझे लगता है कि हर कोई पहली बार में StyleCop से नफरत करता है। थोड़े समय के बाद, हालांकि, लाभ वास्तव में खुद को स्थापित करते हैं और यह स्रोत में स्थिरता बनाए रखने के लिए खुद को एक बहुत ही उपयोगी उपकरण साबित करता है । :)
ग्रेग डी

1
महान जवाब मैं क्या देख रहा था :)
जिब्बो

16

stylecop आपके C # सोर्स कोड पर काम करता है। fxcop किसी भी .net भाषा से आपके संकलित कोड को देखता है।


तो अगर आप स्टाइलकॉप का उपयोग करते हैं, तो क्या FXCop किसी भी मूल्य को जोड़ सकता है?
जेएल

वास्तव में, आप FxCop का उपयोग करके बेहतर हैं।
एंड्रयू रोलिंग

कम से कम अभी के लिए, जब तक कि यह अधिक विन्यास योग्य न हो जाए। :)
एंड्रयू रोलिंग

1
यह संभावना नहीं है कि स्टाइलकॉप काफी अधिक विन्यास हो जाएगा। स्टाइलकॉप के लिए एक अधिक महत्वपूर्ण विशेषता शैली उल्लंघन का स्वत: सुधार है।
ग्रेग डी

हम Resharper का उपयोग करके स्वचालित रूप से स्टाइलकॉप नियमों के अनुरूप कोड बनाते हैं। यह अकेले इसे खरीद मूल्य के लायक बनाता है। और आपको उस एक के ऊपर अन्य सभी लाभ मिलते हैं।
कोई रिफंड नहीं

11

एक वैकल्पिक या FxCop / StyleCop के लिए एक अच्छा पूरक है, जो कि NDD के वाणिज्यिक उपकरण का उपयोग करेगा । इस उपकरण के साथ एक LINQ Queries (अर्थात् CQLinq) पर कोड नियम लिख सकता है । डिस्क्लेमर: मैं टूल के डेवलपर्स में से एक हूं

200 से अधिक कोड नियम डिफ़ॉल्ट रूप से प्रस्तावित हैं, इनमें डिज़ाइन , वास्तुकला , कोड गुणवत्ता , कोड विकास , नामकरण परंपराएं , मृत कोड , .NET Fx उपयोग शामिल हैं ...

CQLinq कोड नियमों को लिखने के लिए समर्पित है, जिन्हें Visual Studio में लाइव सत्यापित किया जा सकता है , या जिसे निर्माण प्रक्रिया के दौरान सत्यापित किया जा सकता है और HTML / जावास्क्रिप्ट रिपोर्ट में रिपोर्ट किया जा सकता है

FxCop या StyleCop पर CQLinq की ताकत यह है कि यह एक कोड नियम लिखने के लिए सीधा है , और तुरंत परिणाम प्राप्त करता है । सुविधाएं मिलान कोड तत्वों को ब्राउज़ करने के लिए प्रस्तावित हैं। काफी हद तक यह इस तरह दिखता है:

CQLinq कोड नियम


6

FXCop आपके प्रबंधित कोड असेंबली का स्थिर कोड विश्लेषण करता है। इसे ऐसे मुद्दों के रूप में सोचें, जो रन-टाइम पर समस्याओं का कारण बनेंगे या इससे प्रभावित होंगे कि डेवलपर को विश्वास है कि कोड कैसे चलेगा (पहुंच से बाहर कोड)।

StyleCop आपको टेक्स्ट पॉइंट के दृष्टिकोण से कोड की संरचना का विश्लेषण करता है। इसे ऐसे मुद्दों के रूप में सोचें जो आपके विकास और डिजाइन अनुभव को प्रभावित करेंगे (प्रारूपण, नामकरण परंपराओं, प्रलेखन)

वे दोनों बहुत मूल्यवान उपकरण हैं और आपको दोनों का उपयोग करना चाहिए लेकिन वे विभिन्न समस्याओं पर ध्यान केंद्रित करते हैं।


5

StyleCop स्रोत कोड विश्लेषण करता है बहुत विन्यास योग्य नहीं है। यह वास्तव में FxCop के समान काम नहीं करता है, जो संकलित कोड का विश्लेषण करता है।

इन पर विकिपीडिया लेख मतभेदों का अच्छा सारांश प्रदान करते हैं:

http://en.wikipedia.org/wiki/StyleCop

http://en.wikipedia.org/wiki/FxCop

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.