دانستنی‌ها

ارزیابی خودکار کد با «SonarQube»

‫‫SonarQube یک ابزار تحیل کد متن باز رایگان است که امکانات شگفت انگیزی برای کشف باگ و بهبود ساختار کد ارائه می کند.

گاهی غفلت از امکاناتی که در دسترس انسان بوده اند، موجب حسرت عمیق وی می شود. اگر از ابزارهای تحلیل  و ارزیابی خودکار کد استفاده نمی کنید چنین حسرتی در انتظار شماست.این ابزارها می توانند ظرف مدت کوتاهی تمام کدهای پروژه شما را بررسی کرده و باگهای ریز و درشتی را استخراج نماید. ابزارهایی همچون PMD، CPD، Checkstyle و FindBugs از معروفترین تحلیلگرهای متن برنامه های جاوا به شمار می روند.

ابزار SonarQube (که ما آن را اختصاراً Sonar می‌نامیم) نیز یک ابزار متن باز و رایگان برای بررسی کیفیت متن برنامه‌ها (Static Code Analysis) است. Sonar مجموعه‌ای از ابزارهای تحلیل کد مانند PMD ، CPD ، CheckStyle و FindBugs را در در دل خود یکپارچه ساخته و ابزارهای دیگری مانند Squid را نیز به آنها افزوده است. علاوه بر این، Sonar دارای یک سرور، واسط وب، دیتابیس و قابلیت اتصال به ابزارهای دیگر (مانند Jenkins) است که مجموعاً آن را نسبت به سایر ابزارهای این حوزه متمایز میکند. 

نحوه اجرای Sonar

برای آنکه Sonar را روی پروژه خود اجرا و با استفاده از آن متن برنامه های تیم خود را بررسی کنید روشهای مختلف وجود دارد. از جمله می توانید از پلاگین Eclipse یا پلاگین Maven استفاده نمایید. اگر بخواهید Sonar را روی دستگاه خود اجرا کنید ولی گزارشات آن به سرور منتقل نشود می توانید از مد DryRun استفاده کنید.

اگر از ابزارهای Continuous Intergration همچون Jenkins استفاده می کنید می توانید اجرای Sonar را به عهده آن بگذارید. در این صورت با هر Commit برنامه نویسان تحلیل کد صورت می گیرد و در صورت تشخیص باگ بلافاصله اعضای تیم مطلع می شوند.

سرور Sonar

سرور Sonar از وجوه تمایز و برتری آن نسبت به سایر ابزارهای تحلیل کد است. شما می توانید در کنسول مدیریتی پروژه خود را معرفی و نحوه تحلیل کد و گزارشدهی را مدیریت و سفارشی کنید. از جمله می توانید اولویت و اهمیت قواعد تعریف شده در Sonar را برای هر پروژه سفارشی کنید. Sonar بعد از تحلیل کد گزارشی از باگهای کشف شده، نتایج اجرای تست و میزان پوشش موارد آزمون (Test Coverage)  ارائه می نماید.  همچنین Sonar ارتباطات بین packageها و class ها  را مدل می نماید و برای رسیدن به معماری بهتر برخی از این ارتباطات را کاندید حذف معرفی می کند. گزارشات Sonar روی پایگاه داده سرور آن ذخیره می شود و امکان مشاهده آن توسط مدیران، ناظران فنی و اعضای تیم وجود دارد.

 

 

[تعداد: 0    میانگین: 0/5]
برچسب ها
نمایش بیشتر

نوشته های مشابه

‫۵ نظرها

  1. خیلی عالی و مفید بود.
    ممنون

    زمینه کلی آکادمیکی که دربرگیرنده پژوهش روی این ابزارها هم می شود، Software Evolution نام دارد.

  2. احسنت! بسیار عالی بود.

    معمولاً شرکت‌ها به اهمیت ابزارهای اتوماتیک در تحلیل ساختار کد واقف نیستند و در حالت خوشبینانه‌، برای کشف خطاهای برنامه نویسی، به Unit Test و Code Review اکتفا می‌کنند.

    Sonar هم ابزار بسیار حرفه‌ای و مناسبی در ای زمینه است.

    دست شما درد نکنه.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا