.net

2008-09-16 10 views
5

के लिए स्थैतिक कोड विश्लेषक कैसे लिखें I vb.net के लिए स्थिर कोड विश्लेषक लिखने में दिलचस्पी है यह देखने के लिए कि यह मेरी कंपनी मानक कोडिंग दिशानिर्देशों के अनुरूप है या नहीं। कृपया मुझे सलाह दें कि मुझे कहां से शुरू करना है।.net

उत्तर

1

FXCop, कोडिंग समस्याओं/गलतियों के लिए एक अच्छी शुरुआत है StyleCop शैली (जाहिर है) कोडिंग के लिए अच्छा है, लेकिन उन दोनों के काम की न तो आप तो आप या तो एक पार्सर अपने आप को लिख सकते हैं या में VBCodeProvider वर्ग का उपयोग कर सकते हैं। नेट फ्रेमवर्क

16

अपना खुद का स्थिर कोड विश्लेषक लिखने के बजाय, मैं आपको FxCop का उपयोग करने की सलाह देता हूं: और इसके बजाय, अपनी आवश्यकताओं के लिए कस्टम FxCop नियम लिखें। यह आपको बहुत समय बचाएगा। http://www.binarycoder.net/fxcop/

0

FxCop से प्रारंभ करें। यदि आप वहां जो भी प्रयास कर रहे हैं वह नहीं कर सकते हैं, तो NStatic या NDepend जैसी कुछ कोशिश करें।

4

मैं सुझाव दूंगा कि आप मोनो के गेंडर्म का उपयोग करें। नियमों में बहुत सारे निर्माण के साथ यह एक बहुत अच्छा उपकरण है। यह अच्छी एचटीएमएल रिपोर्ट भी उत्पन्न करता है।

0

सबसे अच्छा विकल्प FxCop या StyleCop का उपयोग करना है और यदि आवश्यक हो तो कस्टम नियम लिखना है।

0

FxCop का उपयोग करें, यह ऐसी परियोजना नहीं है जिसे आप व्यक्तिगत रूप से करना चाहते हैं। पार्सिंग/लेक्सिकल नियम शामिल हैं और संभावित कैच पागल हो जाएंगे। एकमात्र तरीका यह है कि मैं इसे वैधता के एक मोडिकम को बनाए रखने के दौरान ऐसा करने की कल्पना कर सकता हूं, व्यक्तित्व की अत्यधिक मात्रा के लिए लिस्प धन्यवाद का उपयोग करना होगा, लेकिन फिर, FxCop का उपयोग करने के लिए सबसे अच्छा।

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

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

2

यदि आपको मोर आर्किटेक्चरल अंतर्दृष्टि का उपयोग NDepend की आवश्यकता है। यह उपकरण मुझे आश्चर्यचकित नहीं करता है। यह FxCop से बहुत कुछ कर सकता है। हालांकि यह वाणिज्यिक है, लेकिन एक नि: शुल्क परीक्षण संस्करण

0

मैं पोस्टर में से एक के साथ सहमत हूं कि यह काफी कठिन होगा, लेकिन लिस्प के बजाय मैं एफ # से शुरू करूंगा, जैसे माइक्रोसॉफ्ट ने अपनी तीसरी पार्टी के लिए किया था खिड़कियों ड्राइवरों विश्लेषण उपकरण:

http://arstechnica.com/journals/microsoft.ars/2005/11/10/1796

एफ # शेयरों लिस्प के अभिव्यंजकता (ठीक है, लगभग) और बस VB.NET तरह CLR पर काम करता है, जो पूरी बात को आसान बनाने जाएगा।

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

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