जटिलता - क्लाउड में ऑनलाइन

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

कार्यक्रम:

नाम


जटिलता - सी स्रोत की जटिलता को मापें

SYNOPSIS


जटिलता [-फलों का] [-झंडा [मूल्य]] [--विकल्प-नाम[[=| ]मूल्य]] [ ... ]

यह प्रोग्राम जिस ऑपरेंड पर काम करता है, उसे या तो कमांड लाइन पर निर्दिष्ट किया जा सकता है
मानक इनपुट से पढ़ें, प्रति पंक्ति एक। उस इनपुट में, अग्रणी और अनुगामी श्वेत स्थान
हटा दिया जाता है, रिक्त पंक्तियों को नजरअंदाज कर दिया जाता है। मानक इनपुट टर्मिनल नहीं हो सकता.

स्रोत कोड की जटिलता की गणना न केवल पथ-थ्रू-द-कोड गणना के साथ करें, बल्कि
लॉजिक लेवल नेस्टिंग द्वारा लाइन काउंट को भी बढ़ाना।

गैर-टिप्पणी स्रोत की पंक्तियों को गिनकर और गुणा करके कोड की जटिलता की गणना करें
एक नेस्टेड तर्क भार कारक। डिफ़ॉल्ट रूप से, 1.9.

वर्णन


प्रत्येक कथन का महत्व कथन द्वारा उपयोग की गई पंक्तियों की संख्या है। यह मान है
तर्क की प्रत्येक परत के लिए नेस्टेड लॉजिक वेटिंग (डिफ़ॉल्ट रूप से 1.9) से गुणा किया जाता है। के लिए
उदाहरण, यह स्निपेट:

अगर (फू) {
अगर (बार) {
भौंरा; बाज़;
}
}

स्कोर 11 होगा। फिर इस स्कोर को अनुमानित मान लिया जाता है PMccabe परिणाम को 20 से विभाजित करके
और गोलाई. अंत में इसका स्कोर "1" है। PMccabe सरल प्रक्रियाओं और पर उच्च स्कोर
जटिलता अधिक गहराई से निहित तर्क के साथ उच्च स्कोर।

को समायोजित करके स्कोरिंग में बदलाव किया जा सकता है --नेस्टिंग-दंड और --पैमाना-आईएनजी कारक।
लाखों पंक्तियों के औसत परिणामों की तुलना करके डिफ़ॉल्ट मानों को कैलिब्रेट किया गया था
के परिणामों के साथ कोड का PMccabe.

इस कार्यक्रम के प्रयोजनों के लिए, एक प्रक्रिया की पहचान एक नाम के बाद की जाती है
कोष्ठक में अभिव्यक्ति और फिर एक प्रारंभिक घुंघराले ब्रेस। यह एक समापन घुंघराले के साथ समाप्त होता है
कॉलम 1 में ब्रेस।

यह प्रोग्राम कमांड लाइन पर नामित प्रत्येक फ़ाइल या प्रत्येक के लिए अपना कार्य करेगा
stdin से पढ़ी गई सूची में नामित फ़ाइल। तर्क या इनपुट नाम पहले से मौजूद होने चाहिए
फ़ाइलें. इनपुट सूची में टिप्पणियाँ शामिल हो सकती हैं, जो रिक्त पंक्तियाँ या शुरुआत वाली पंक्तियाँ हैं
एक चरित्र।

विकल्प


-t न्यूनतम, --सीमा=न्यूनतम
रिपोर्टिंग सीमा. यह विकल्प एक पूर्णांक संख्या को अपने तर्क के रूप में लेता है।
चूक न्यूनतम इस विकल्प के लिए है:
30

इस सीमा से नीचे जटिलता माप वाली किसी भी प्रक्रिया को अनदेखा करें। डिफ़ॉल्ट रूप से,
30 से कम का जटिलता स्कोर मुद्रित नहीं किया जाता है। हालाँकि, यदि एक हिस्टोग्राम और
आँकड़े मुद्रित किए जाने हैं, लेकिन व्यक्तिगत प्रक्रिया स्कोर नहीं, तो डिफ़ॉल्ट
शून्य पर सेट है. इस सीमा से नीचे की प्रक्रियाओं को आंकड़ों में नहीं गिना जाता है।

--भयानक-दहलीज=न्यूनतम
शून्य निकास सीमा. यह विकल्प एक पूर्णांक संख्या को अपने तर्क के रूप में लेता है।
चूक न्यूनतम इस विकल्प के लिए है:
100

यदि कोई प्रक्रिया इस सीमा से अधिक स्कोर करती है, तो प्रोग्राम गैर-बाहर निकल जाएगा
शून्य। (4/COMPLEX_EXIT_HORRID_FUNCTION, यदि कोई अन्य समस्या नहीं आती है।) द्वारा
डिफ़ॉल्ट रूप से, यह प्रोग्राम शून्य से बाहर निकलता है जब तक कि एक फ़ंक्शन भयानक स्कोर से अधिक न हो जाए
100.

-n कारक, --नेस्टिंग-दंड=कारक
नेस्टेड कोड के लिए स्कोर गुणक।

भाषाई रचनाएँ जितनी अधिक गहरी होती हैं, उनका वजन उतना ही अधिक होता है। द्वारा
डिफ़ॉल्ट रूप से, प्रत्येक परत 1.9 के कारक द्वारा दंडित होती है। विकल्प तर्क एक है
चल बिन्दु संख्या। जुर्माना 1 हो सकता है, लेकिन कम नहीं.

--डेमी-नेस्टिंग-दंड=कारक
नेस्टेड अभिव्यक्तियों के लिए स्कोर गुणक।

डिफ़ॉल्ट रूप से, यह मान 1.0 और नेस्टिंग पेनल्टी के बीच आधा है
(विशेष रूप से, नेस्टिंग पेनल्टी का वर्गमूल)। यह एक को संदर्भित करता है
कोष्ठक में उप-अभिव्यक्ति। उदाहरण के लिए
((ए > बी) && (सी > डी))
इसमें कोष्ठक में दो उप-अभिव्यक्तियाँ शामिल हैं। इसमें 3.5 अंक गिने जाएंगे। पर
दूसरी ओर, यह:
(ए > बी और सी > डी)
इसमें समान स्तर पर दो रिलेशन ऑपरेटर और एक तार्किक ऑपरेटर शामिल हैं। इन
नेस्टेड गिनती को एक साथ गुणा किया जाएगा और उपज मिलेगी 2.5 * 2.5या, 6.25. मत करो
वह। यदि आपके पास तार्किक और अन्य समान स्तर पर हैं तो यह और भी बदतर हो जाता है।

-s कारक, --पैमाना=कारक
जटिलता स्केलिंग कारक. यह विकल्प एक पूर्णांक संख्या को अपने तर्क के रूप में लेता है।

डिफ़ॉल्ट रूप से, स्केलिंग 20 है जो कच्चे स्कोर को 20 से विभाजित करती है। यह था
मोटे तौर पर इसके अनुरूप सामान्यीकृत PMccabe स्कोर:

0-9 आसानी से बनाए रखा कोड.

10-19 थोड़ी परेशानी के साथ बनाए रखा।

20-29 थोड़ी मेहनत से संभाल लिया.

30-39 कोड बनाए रखना कठिन है.

40-49 कोड बनाए रखना कठिन है.

50-99 अप्राप्य कोड.

100-199 कठिन कोड बनाने वाला पागल।

200 + काश मैं मजाक कर रहा होता।
स्कोर | एलएन-सीटी | एनसी-एलएनएस| फ़ाइल-नाम(लाइन): proc-name
4707 3815 2838 lib/vasnprintf.c(1747): वस्नप्रिंट

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

प्रत्येक फ़ंक्शन के स्कोर को प्रिंट करने के बजाय, अंत में एक सारांश मुद्रित किया जाता है
यह दर्शाता है कि कितने कार्यों में अंकों की विशेष श्रेणियाँ थीं। जब तक --स्कोर is
विशेष रूप से बुलाए जाने पर, निर्दिष्ट इस विकल्प के साथ स्कोर प्रिंट नहीं होंगे।
न्यूनतम स्कोरिंग सीमा भी घटाकर शून्य (0) कर दी जाएगी, जब तक कि --सीमा is
निर्दिष्ट।

-c, --स्कोर, --कोई अंक नहीं
प्रत्येक प्रक्रिया के लिए स्कोर प्रदर्शित करें। कोई अंक नहीं फॉर्म विकल्प को निष्क्रिय कर देगा।
यह विकल्प पर्यावरण चर के साथ या आरंभीकरण (आरसी) में पूर्व निर्धारित नहीं हो सकता है
फाइलें.

यदि आप निर्दिष्ट करते हैं --हिस्टोग्राम, जब तक ऐसा न हो, व्यक्तिगत स्कोर प्रदर्शित नहीं किए जाएंगे
विकल्प निर्दिष्ट है।

-I स्ट्रिंग, --अनदेखा करना=स्ट्रिंग
प्रक्रिया का नाम अनदेखा किया जाना चाहिए. यह विकल्प असीमित संख्या में दिखाई दे सकता है.

कुछ कोड में मैक्रोज़ परिभाषित हैं जो शाब्दिक विश्लेषण को भ्रमित करते हैं। यह कारण होगा
उन्हें नजरअंदाज किया जाना चाहिए. फ़ंक्शंस को अनदेखा करने के अन्य तरीके हैं:

प्रक्रिया शीर्षलेख के लिए K&R सिंटैक्स का उपयोग करें।

प्रक्रिया शीर्षलेख को इकट्ठा करने के लिए प्रीप्रोसेसिंग मैक्रो का उपयोग करें।

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

-H, --कोई रहनुमा नहीं
स्कोरिंग हेडर प्रिंट न करें. यह विकल्प पर्यावरण के साथ पूर्व निर्धारित नहीं हो सकता है
चर या आरंभीकरण (आरसी) फ़ाइलों में।

यदि कोई स्क्रिप्ट स्कोरिंग आउटपुट को संसाधित करने जा रही है, तो इसके बिना पार्सिंग आसान है
शीर्षक. हिस्टोग्राम आउटपुट में हमेशा एक हेडर होगा।

-u यूनिफ़डेफ़-ऑप्ट, --unifdef=यूनिफ़डेफ़-ऑप्ट
स्रोत(स्रोतों) को चलाएँ यूनिफ़डेफ़(1बीएसडी)। यह विकल्प असीमित दिखाई दे सकता है
कई बार।

चारों ओर से घिरे कोड के अनुभागों को हटा दें #if/#endif निर्देश विकल्प
तर्क को तर्क के रूप में पारित किया जाता है यूनिफ़डेफ़(1बीएसडी) कार्यक्रम. उदाहरण के लिए:
जटिलता -u-Dsymbol
कारण होगा प्रतीक परिभाषित किया जाना है और पहले वाले कोड के अनुभागों को हटाना है #ifndef
प्रतीक दिशा निर्देशों।

देखने के लिए कृपया यूनिफ़डेफ़ अधिक जानकारी के लिए दस्तावेज।

--unif-exe=ठेला
यूनिफ़डेफ़ प्रोग्राम निर्दिष्ट करें.

इनपुट को एकीकृत करने के लिए उपयोग हेतु वैकल्पिक प्रोग्राम।

-i फ़ाइल का नाम, --इनपुट=फ़ाइल का नाम
फ़ाइल सूची की फ़ाइल.

इसके बजाय या तो इनपुट फ़ाइलों की एक कमांड लाइन सूची बनाएं या उन्हें मानक से पढ़ें
इनपुट करें, इस फ़ाइल से फ़ाइलों की सूची पढ़ें।

--ट्रेस=फ़ाइल का नाम
आउटपुट फ़ाइल का पता लगाएं।

मध्यवर्ती स्कोर को ट्रेस फ़ाइल में प्रिंट करें।

-?, --मदद
उपयोग की जानकारी प्रदर्शित करें और बाहर निकलें।

-!, --और अधिक सहायता
एक पेजर के माध्यम से विस्तारित उपयोग की जानकारी पास करें।

-> [cfgफ़ाइल], --सेव-ऑप्स [=cfgफ़ाइल]
विकल्प राज्य को सहेजें cfgफ़ाइल. डिफ़ॉल्ट है पिछली बार विन्यास फाइल
में सूचीबद्ध है विकल्प प्रीसेट खंड, नीचे। अपडेट करने के बाद कमांड बाहर निकल जाएगी
कॉन्फ़िग फ़ाइल।

-< cfgफ़ाइल, --लोड-ऑप्स=cfgफ़ाइल, --नो-लोड-ऑप्ट्स
से विकल्प लोड करें cfgफ़ाइलनो-लोड-ऑप्ट्स फॉर्म की लोडिंग अक्षम कर देगा
पहले की config/rc/ini फ़ाइलें। --नो-लोड-ऑप्ट्स जल्दी संभाला जाता है, क्रम से बाहर।

-v [{वी|सी|एन --संस्करण [{वी|सी|एन}]}]
प्रोग्राम का आउटपुट संस्करण और बाहर निकलें। डिफ़ॉल्ट मोड `v' है, जो एक साधारण संस्करण है।
'सी' मोड कॉपीराइट जानकारी प्रिंट करेगा और 'एन' पूर्ण कॉपीराइट प्रिंट करेगा
नोटिस।

विकल्प प्रीसेट


कोई भी विकल्प जिसे के रूप में चिह्नित नहीं किया गया है नहीं पूर्व निर्धारित से मान लोड करके प्रीसेट किया जा सकता है
कॉन्फ़िगरेशन ("RC" या ".INI") फ़ाइल (फ़ाइलें) और नाम पर्यावरण चर से मान:
जटिलता_ or जटिलता
पर्यावरण प्रीसेट वरीयता लेते हैं (बाद में संसाधित होते हैं) कॉन्फ़िगरेशन
फ़ाइलें। होमरसी फ़ाइलें हैं "$@/complex.conf""$ HOME""$PROJECT_ROOT/complex.conf", तथा
"."। यदि इनमें से कोई निर्देशिका है, तो फ़ाइल .complexityrc भीतर खोजा जाता है
वे निर्देशिकाएँ.

वातावरण


देख विकल्प प्रीसेट विन्यास पर्यावरण चर के लिए।

onworks.net सेवाओं का उपयोग करके ऑनलाइन जटिलता का उपयोग करें



नवीनतम Linux और Windows ऑनलाइन प्रोग्राम