कोडिंग मानकों के एक सेट के खिलाफ C / C ++ स्रोत कोड की जांच करने के लिए एक मुफ्त टूल? [बन्द है]


151

यह जावा (के लिए इस तरह के एक उपकरण लगाने के लिए काफी आसान लग रहा है Checkstyle , JCSC ), लेकिन मैं C / C ++ के लिए एक खोजने के लिए प्रतीत नहीं कर सकते हैं। मैं एक लिंट की तरह स्थिर कोड विश्लेषक की तलाश नहीं कर रहा हूं, मैं केवल चर नामकरण, पूंजीकरण, रिक्ति, पहचान, ब्रैकेट प्लेसमेंट, और इसी तरह के कोडिंग मानकों के खिलाफ जांच करना चाहूंगा।


3
यदि आप यहाँ चाहते हैं, तो आप इस सवाल पर विचार न करें: इस सवाल पर विचार करें: stackoverflow.com/q/10819398/120163
इरा बैक्सटर

जवाबों:


57

एकमात्र उपकरण मुझे पता है कि वेरा है । हालाँकि, इसका उपयोग नहीं किया गया है, इसलिए यह टिप्पणी नहीं कर सकता कि यह कितना व्यवहार्य है। डेमो आशाजनक लग रहा है।


मैंने इसका परीक्षण किया है, और यह काफी सरल है। लेकिन यह काम करता है!
जादेर डायस

7
मैंने इसे आजमाया लेकिन निराश था। इसने C ++ कोड को टोकन कर दिया है, लेकिन "पहचानकर्ताओं" के लिए केवल एक ही प्रकार का टोकन है, इसलिए यह कहना है कि वर्ग के नाम, सदस्य चर और स्थानीय चर के बीच अंतर नहीं करता है। इसलिए कोई तरीका नहीं है कि मैं विभिन्न प्रकार के पहचानकर्ता के लिए अलग-अलग नामकरण सम्मेलनों को लागू कर पाऊं।
जॉन डब्ल्यू

वेरा के पास नियमों का बहुत व्यापक सेट नहीं है - लेकिन वे विस्तार योग्य हैं (टीसीएल में)
fmuecke

2
"एक्स्टेंसिबल" केवल बहुत ही सरल कार्यों के लिए। चूंकि वेरा की सी ++ की समझ उथली है, इसलिए किसी भी "डीप स्टाइल चेक" (एक संभावित (मैं अच्छा नहीं सुझाव दे रहा हूं) नियम पर विचार करें: हर आवंटन के लिए, एक ही फ़ंक्शन में एक संबंधित डीलक्लोलेशन होता है) को उचित सी ++ ज्ञान को एनकोड करना होगा। और यह वास्तव में बहुत कठिन है, जिसका अर्थ है कि ऐसा नहीं होगा।
इरा बाक्सटर

वेरा के लिए निश्चित लिंक: bitbucket.org/verateam/vera
congusbongus

49

4
+1। यह बहुत अच्छा है - हालांकि इसमें बहुत सख्त शैली है। वेरा ++ जैसे नियमों के साथ खुद को विस्तारित करना आसान नहीं है।
fmuecke

यदि आप Google की C ++ शैली का उपयोग कर रहे हैं तो बहुत अच्छा है: :) +1
jkp

3
मुझे लगता है कि यह अब व्हाट्सएप है जिसे cpplint कहा जाता है इसे github.com/google/styleguide/tree/gh-pages/cpplint पर पाया जा सकता है , c ++ लिंट के ऊपर का लिंक टूटा हुआ है।
Zitrax

बस संदर्भ के लिए, स्थापित करने के लिए, आप "पाइप इंस्टॉल कैप्लिंट" का उपयोग कर सकते हैं। तब आप बस "cpplint file.cpp" या "cpplint --recursive" का उपयोग कर सकते हैं। "./cpplint.py" के बजाय जो बहुत बेहतर IMO है। कम से कम जीथब के माध्यम से डाउनलोड करने की तुलना में आसान
कोलिन डी


8

मुझे यकीन है कि यह कुछ हद तक cxx चेकर की मदद कर सकता है । इसके अलावा यह उपकरण बहुत अच्छा लगता है KWStyle यह किटवेयर से है, जो लोग Cmake विकसित करते हैं।


1
cxxchecker अब मेरे लिए बहुत मरा हुआ लगता है।
स्टीफनक्ट

cxx चेकर एक मृत लिंक है।
वुल्फ

7

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


1
आप बेहतर ढंग से स्पष्ट करते हैं कि आर्टिस्टिक स्टाइल पूरी तरह से फॉर्मेटिंग पर केंद्रित है जो कि बुरी बात नहीं है :)
वुल्फ

6

प्रयास करें nsiqcppstyle । यह C / C ++ के लिए पायथन आधारित कोडिंग स्टाइल चेकर है। अपने नियमों को जोड़ने के लिए इसका विस्तार करना आसान है।



2

मैंने अपने काम में एक टूल का इस्तेमाल किया है, वह है LDRA टूल सूट

इसका उपयोग c / c ++ कोड के परीक्षण के लिए किया जाता है लेकिन यह कोडिंग मानकों जैसे MISRA आदि के खिलाफ भी जांच कर सकता है।


1
यह नीचे क्यों है? यहां तक ​​कि अगर एलडीआरए एक स्थिर विश्लेषक भी है - कुछ ऐसा जो प्रश्न की तलाश में नहीं है - मेरा मानना ​​है कि यह कोडिंग मानक के उल्लंघन के लिए कोड की जांच करने में भी सक्षम है।
विटोर पाय जुएल

4
LDRA की लागत आपकी औसत कार जितनी है ... मेरे विचार से मुक्त नहीं है।
लुंडिन

2

Sourceforge.netuniversalindentgui पर चेक करें ।

इसमें C के लिए कई स्टाइल चेकर्स हैं और आप चेकर्स को कस्टमाइज़ कर सकते हैं।


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

1

वहाँ cppcheck है जो हडसन द्वारा उसी नाम के प्लगइन के माध्यम से भी समर्थित है ।


4
cppcheck एक स्थैतिक विश्लेषण उपकरण है और यह नहीं कि प्रश्न की तलाश क्या है।
विटोर पाय जुएल

हो सकता है कि 2010 के बाद से यह बदल गया: आज कैपचेक में शैलीगत मुद्दों के लिए चेतावनी भी शामिल है। लेकिन, ठीक है, ओपी ने स्पष्ट रूप से स्थिर कोड विश्लेषणकर्ताओं को बाहर कर दिया।
वुल्फ



-1

मैं वर्तमान में इस तरह के एक उपकरण को लिखने के लिए एक अन्य परियोजना के साथ एक परियोजना पर काम कर रहा हूं। मैंने अन्य स्थिर कोड विश्लेषण उपकरणों को देखा और निर्णय लिया कि मैं बेहतर कर सकता हूं।

दुर्भाग्य से, परियोजना कोड के काफी अंतरंग ज्ञान के बिना उपयोग करने के लिए अभी तक तैयार नहीं है ( पढ़ें: यह सभी नरक के रूप में छोटी गाड़ी है )। हालाँकि, हम काफी तेज़ी से आगे बढ़ रहे हैं, और अगले 8 हफ्तों के भीतर एक बीटा रिलीज़ होने की उम्मीद है।

परियोजना खुला स्रोत है - आप परियोजना पृष्ठ पर जा सकते हैं , और यदि आप इसमें शामिल होना चाहते हैं, तो हम कुछ और बाहरी इनपुट पसंद करेंगे।

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

यदि आप कोई और जानकारी चाहते हैं, तो कृपया मुझसे संपर्क करने में संकोच न करें।

चीयर्स,


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