این پیچیدگی فرمانی است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
پیچیدگی - اندازه گیری پیچیدگی منبع C
خلاصه
پیچیدگی [پرچم ها] [-پرچم [ارزش]] [--option-name[[=| ]ارزش]] [ ...]
عملگرهایی که این برنامه روی آنها کار می کند ممکن است در خط فرمان یا
خواندن از ورودی استاندارد، یک در هر خط. در آن ورودی، فضای سفید پیشرو و انتهایی
حذف شده است، خطوط خالی نادیده گرفته می شوند. ورودی استاندارد ممکن است ترمینال نباشد.
پیچیدگی کد منبع را نه فقط با تعداد مسیرهای عبور از کد، بلکه محاسبه کنید
همچنین تعداد خطوط را با تودرتو در سطح منطقی تقویت می کند.
پیچیدگی کد را با شمارش خطوط منبع بدون نظر و ضرب در آن محاسبه کنید
یک عامل وزن منطقی تودرتو به طور پیش فرض، 1.9.
شرح
وزن هر عبارت، تعداد خطوطی است که دستور استفاده می کند. این مقدار است
ضرب در وزن منطق تودرتو (به طور پیش فرض 1.9) برای هر لایه منطق. برای
به عنوان مثال، این قطعه:
اگر (فو) {
اگر (نوار) {
بابل باز
}
}
امتیاز 11 خواهد بود. سپس این امتیاز به صورت تقریبی مقیاس بندی می شود pmccabe با تقسیم بر 20 به دست می آید
و گرد کردن این امتیاز در پایان "1" است. pmccabe نمرات بالاتر در روش های ساده و
پیچیدگی با منطق عمیقتر تودرتو نمرات بالاتری کسب میکند.
امتیاز را می توان با تنظیم بهینه سازی کرد -- لانه سازی-جریمه و -- مقیاسعوامل
مقادیر پیشفرض با مقایسه میانگین نتایج میلیونها خط کالیبره شدند
کد با نتایج pmccabe.
برای اهداف این برنامه، یک رویه با یک نام و به دنبال آن یک مشخص می شود
عبارت پرانتز شده و سپس یک پرانتز مجعد باز. با فرفری بسته به پایان می رسد
مهاربند در ستون 1.
این برنامه عملکرد خود را برای هر فایلی که در خط فرمان یا هر فایل نامگذاری شده انجام می دهد
فایلی که در لیست خوانده شده از stdin نامگذاری شده است. آرگومان ها یا نام های ورودی باید از قبل موجود باشند
فایل ها. لیست ورودی ممکن است حاوی نظراتی باشد که خطوط خالی یا خطوطی هستند که با آنها شروع می شود
یک شخصیت.
OPTIONS
-t حد اقل, --آستانه=حد اقل
آستانه گزارش این گزینه یک عدد صحیح را به عنوان آرگومان خود می گیرد. در
به طور پیش فرض حد اقل برای این گزینه است:
30
از هر رویه ای با معیار پیچیدگی زیر این آستانه چشم پوشی کنید. به صورت پیش فرض،
نمره پیچیدگی زیر 30 چاپ نمی شود. با این حال، اگر یک هیستوگرام و
آمار باید چاپ شود، اما نمرات روش های فردی، و سپس به طور پیش فرض چاپ نمی شود
روی صفر تنظیم شده است. رویه های زیر این حد در آمار محاسبه نمی شود.
---آستانه وحشتناک=حد اقل
آستانه خروج صفر این گزینه یک عدد صحیح را به عنوان آرگومان خود می گیرد. در
به طور پیش فرض حد اقل برای این گزینه است:
100
اگر هر رویه ای بالاتر از این آستانه امتیاز بگیرد، برنامه از غیر
صفر (4/COMPLEX_EXIT_HORRID_FUNCTION، در صورت عدم بروز مشکل دیگر.) توسط
به طور پیش فرض، این برنامه از صفر خارج می شود مگر اینکه یک تابع از امتیاز وحشتناک آن بیشتر شود
100.
-n عامل, -- لانه سازی-جریمه=عامل
ضریب امتیاز برای کد تودرتو
ساختارهای زبانی هر چه عمیقتر باشند، سنگینتر میشوند. توسط
به طور پیش فرض، هر لایه با ضریب 1.9 جریمه می شود. آرگومان گزینه a است
عدد ممیز شناور جریمه ممکن است 1 باشد اما کمتر نباشد.
-- نیمه لانه سازی - پنالتی=عامل
ضریب امتیاز برای عبارات تودرتو.
به طور پیش فرض، این مقدار در نیمه راه بین 1.0 و جریمه تودرتو است
(به طور خاص، جذر جریمه تودرتو). به الف اشاره دارد
عبارت فرعی در پرانتز به عنوان مثال
((a > b) && (c > d))
شامل دو عبارت فرعی در پرانتز است. این 3.5 امتیاز به حساب می آید. در
از طرف دیگر این:
(a > b && c > d)
شامل دو عملگر رابطه و یک عملگر منطقی در یک سطح است. اینها
تعداد تو در تو با هم ضرب می شود و حاصل می شود 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 + فقط کاش شوخی میکردم
امتیاز | ln-ct | nc-lns| file-name(line): proc-name
4707 3815 2838 lib/vasnprintf.c(1747): VASNPRINTF
-h, -- هیستوگرام, --بدون هیستوگرام
نمایش هیستوگرام اعداد پیچیدگی در بدون هیستوگرام فرم را غیرفعال می کند
گزینه. این گزینه ممکن است با متغیرهای محیطی یا در از پیش تنظیم نشده باشد
فایل های اولیه (rc)
به جای چاپ کردن امتیاز هر تابع، خلاصه ای در پایان چاپ می شود
نشان می دهد که چه تعداد از توابع دارای محدوده خاصی از امتیازات هستند. مگر اینکه -- نمرات is
به طور خاص فراخوانی می شود، نمرات با این گزینه مشخص شده چاپ نمی شوند. در
حداقل آستانه امتیاز نیز به صفر (0) کاهش می یابد، مگر اینکه --آستانه is
مشخص شده.
-c, -- نمرات, --بدون امتیاز
نمایش امتیاز برای هر روش. در بدون امتیاز فرم گزینه را غیرفعال می کند.
این گزینه ممکن است با متغیرهای محیطی یا در مقداردهی اولیه (rc) از پیش تنظیم نشده باشد.
فایل های.
اگر مشخص کنید -- هیستوگرام، امتیازات فردی نمایش داده نمی شود، مگر اینکه این باشد
گزینه مشخص شده است.
-I رشته, --چشم پوشی=رشته
نام رویه نادیده گرفته شود این گزینه ممکن است به تعداد نامحدود بارها ظاهر شود.
برخی از کدها دارای ماکروهایی هستند که تحلیل واژگانی را گیج می کنند. این باعث خواهد شد
آنها نادیده گرفته شوند راه های دیگر برای نادیده گرفتن توابع عبارتند از:
از دستور K&R برای هدر رویه استفاده کنید.
از یک ماکرو پیش پردازش برای جمع آوری هدر رویه استفاده کنید.
کد خود را ساده کنید
به طور کلی، هر کاری که انجام می دهید که نحو عادی C را تغییر دهد، باعث سردرگمی می شود
تحلیل واژگانی اگر رویه ای دیده نشود، شمارش نمی شود. اگر
کد داخل یک رویه نامفهوم است، احتمالاً نامناسب خواهید بود
نتایج.
-H, --بدون سربرگ
سرصفحه امتیازدهی را چاپ نکنید. این گزینه ممکن است با محیط از پیش تنظیم نشده باشد
متغیرها یا در فایل های اولیه (rc).
اگر یک اسکریپت قرار است خروجی امتیازدهی را پردازش کند، تجزیه بدون a آسانتر است
سرتیتر. خروجی هیستوگرام همیشه یک هدر خواهد داشت.
-u unifdef-opt, -- unifdef=unifdef-opt
منبع(های) را اجرا کنید unifdef(1BSD). این گزینه ممکن است نامحدود ظاهر شود
تعداد دفعات
بخش هایی از کد احاطه شده توسط #اگر/#پایان بخشنامه ها گزینه
آرگومان به عنوان آرگومان به unifdef(1BSD) برنامه مثلا:
پیچیدگی -u-Dsymbol
باعث نماد برای تعریف و حذف بخش های کد قبل از #ifndef
نماد دستورالعمل.
لطفا unifdef مستندات برای اطلاعات بیشتر
--unif-exe=پرسه زدن
برنامه unifdef را مشخص کنید.
برنامه جایگزین برای استفاده برای unifdef کردن ورودی.
-i نام فایل, -- ورودی=نام فایل
فایل لیست فایل
به جای لیست خط فرمان فایل های ورودی یا خواندن آنها از استاندارد
ورودی، لیست فایل ها را از این فایل بخوانید.
--پی گیری=نام فایل
فایل خروجی ردیابی
نمرات متوسط را در یک فایل ردیابی چاپ کنید.
-?, --کمک
نمایش اطلاعات استفاده و خروج.
-!, --کمک بیشتر
اطلاعات استفاده گسترده را از طریق پیجر منتقل کنید.
-> [فایل cfg], --save-opts [=فایل cfg]
وضعیت گزینه را ذخیره کنید فایل cfg. پیش فرض است آخرین فایل پیکربندی
ذکر شده در گزینه پیشنهادها بخش، زیر دستور پس از به روز رسانی خارج می شود
فایل کانفیگ
-< فایل cfg, --load-opts=فایل cfg, --بدون بار-انتخاب
بارگذاری گزینه ها از فایل cfg. انتخاب بدون بار فرم بارگیری را غیرفعال می کند
فایل های قبلی config/rc/ini. --بدون بار-انتخاب زودتر رسیدگی می شود، بدون نظم.
-v [{v|c|n - نسخه [{v|c|n}]}]
نسخه خروجی برنامه و خروج. حالت پیش فرض 'v' است، یک نسخه ساده.
حالت "c" اطلاعات حق چاپ را چاپ می کند و "n" حق چاپ کامل را چاپ می کند
اطلاع.
گزینه پیشنهادها
هر گزینه ای که به عنوان علامت گذاری نشده باشد نه قابل پیش تنظیم ممکن است با بارگذاری مقادیر از پیش تنظیم شود
پیکربندی ("RC" یا ".INI") فایل(های) و مقادیر از متغیرهای محیطی به نام:
COMPLEXITY_ or سازگاری
تنظیمات از پیش تعیین شده محیطی اولویت دارند (دیرتر از پیکربندی پردازش می شوند).
فایل ها. هومرک فایل ها هستند "$@/complex.conf""$ HOME""$PROJECT_ROOT/complex.conf"، و
".اگر هر یک از اینها دایرکتوری هستند، پس فایل .complexityrc در داخل جستجو می شود
آن دایرکتوری ها
محیط زیست
دیدن گزینه پیشنهادها برای متغیرهای محیط پیکربندی
با استفاده از خدمات onworks.net از پیچیدگی آنلاین استفاده کنید