2011-11-03 12 views
5

मैं एक काफी बड़े कोड बेस को विरासत में मिला हूं जो दुर्भाग्यवश बहुत सारी "बुरी आदतों" को प्रदर्शित करता है। मेरी सबसे बड़ी व्यक्तिगत पालतू peeves की इस तरह एक अभिव्यक्ति में कई चर घोषित किया जाता है:सी ++ कोड के लिए शैली के मुद्दों का पता लगाने के लिए उपकरण?

int x, y, z; 

व्यक्तिगत रूप से, मैं पसंद:

int x; 
int y; 
int z; 

यह मेरे आसानी से अलग-अलग प्रकारों को समायोजित करने की अनुमति देता है, और साथ मुद्दों से बचा जाता इस तरह सूचक प्रकार:

int *x, y, z; // whoops I meant to make y and z pointers too! 

इसके अलावा, मैं पता लगाने के लिए जब एक प्रकार जिसका आकार sizeof(void*) से भी बड़ा मूल्य द्वारा पारित किया जा रहा है अच्छा लगेगा।

अन्य "शैली" मुद्दे भी हैं जिन्हें मैं पहचानना और सही करना चाहता हूं, लेकिन ये सबसे कष्टप्रद आईएमओ हैं। इसके लिए सबसे अच्छे उपकरण क्या हैं?

+0

कई अच्छे उपकरण नीचे उल्लिखित हैं, लेकिन कुछ भी कोड समीक्षा को हरा नहीं सकता है। –

उत्तर

2

सी ++ फ़ाइलों की शैली की जांच के लिए मैंने उपयोग किए जाने वाले सर्वोत्तम उपकरणों में से एक KWStyle है। हालांकि मुझे पूरा यकीन नहीं है कि यह आपकी सभी आवश्यकताओं का समर्थन करता है।

+0

मैं इस जवाब को स्वीकार कर रहा हूं। भले ही मैं धीमी लेकिन स्थिर कोड समीक्षा पर बस गया हूं। यह उत्तर मेरे प्रश्न पर सबसे अधिक लागू था। –

1

मेरी भावना यह है कि जिस शैली का आप उपयोग करना चाहते हैं वह आपकी आवश्यकताओं के लिए विशिष्ट है। तो आपको अपने लिए चेक करने के लिए एक टूल को कस्टमाइज़ करने की आवश्यकता है।

मेरा मानना ​​है कि आपका उदाहरण (यह मानते हुए कि आपका कोड आधार प्रयास करने योग्य बनाने के लिए काफी बड़ा है) संकलक अनुकूलन के लिए बहुत अच्छा मामला है।

हाल (अर्थात 4.6) GCC के संस्करणों plugins के माध्यम से बढ़ाया जा सकता है, और आप भी GCC MELT है, जो एक उच्च स्तरीय डोमेन विशिष्ट भाषा जीसीसी एक्सटेंशन के विकास को कम करने के लिए है का उपयोग कर इसे कस्टमाइज़ करके जीसीसी विस्तार कर सकते हैं।

बेशक, जीसीसी (या तो सी में प्लगइन कोडिंग या एमईएलटी में एक्सटेंशन द्वारा) का विस्तार करने के लिए आपको अपने आंतरिक प्रतिनिधित्व (विशेष रूप से गिंपल & ट्री) को समझना होगा, जो कुछ काम करता है।

पीएस मैं जीसीसी एमईएलटी का मुख्य डेवलपर हूं।

+0

जीसीसी एमईएलटी वास्तव में अच्छा लगता है, मैं निश्चित रूप से इसे किसी बिंदु पर देखता हूं। अगर इस परियोजना के लिए नहीं, तो निश्चित रूप से वहां बहुत अच्छी चीजें हैं जो मैं इसके साथ कहीं और कर सकता हूं! –

+0

फिर कृपया मुझसे संपर्क करें, या [email protected] क्योंकि एमईएलटी वास्तव में बुरी तरह से प्रलेखित है .... –

1

आप स्थिर कोड विश्लेषण के लिए cppcheck आज़मा सकते हैं। This question और इसके उत्तर स्थिर कोड विश्लेषण के लिए उपकरणों पर अधिक संकेत प्रदान करते हैं।

+0

cppcheck कोड के साथ मूल सामान्य मुद्दों को खोजने में बहुत अच्छा साबित हो रहा है, लेकिन निश्चित रूप से कम ध्यान केंद्रित है अंदाज। –

2

मैं के बारे में 2 Years.It के बाद से सी के ++ मेरी कोड और जावा फ़ॉर्मेट करने के लिए Artistic Style or astyle का उपयोग महान में अनुकूलित किया जा सकता detail.Probably वहाँ कई बेहतर लोगों को अब

लेकिन मेरे लिए इसकी बहुत उपयोगी होते हैं ...।

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