دانستنی‌ها

ارزیابی خودکار کد با «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 روی پایگاه داده سرور آن ذخیره می شود و امکان مشاهده آن توسط مدیران، ناظران فنی و اعضای تیم وجود دارد.

 

 

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

‫5 دیدگاه ها

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

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

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

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

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

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

دیدگاهتان را بنویسید

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

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