Sonar

Sonar یک ابزار مدیریت کیفیت سورس-کد برنامه های کاربردی است. این ابزار قادر به پوشش و تحلیل کیفیت برنامه نویسی در هفت محور طراحی، قوانین کدنویسی، مستندسازی، تکثیر و تکرار، تست های واحد، پیچیدگی و خطاهای برنامه می باشد. Sonar قابلیت ترکیب metric ها جهت تولید گزارشات آماری را داراست. این ابزار برای تحلیل سورس کد تقریبا تمام زبان های برنامه نویسی قابل استفاده است. بررسی و مشاهده نتایج تحلیل کد، هم از طریق یک داشبورد وبی و هم از طریق یکپارچه سازی با IDE های رایج امکان پذیر است.

Service virtualization product views
 

Sonar-tab

  1. قابلیت ها
  2. امکانات

بازرسی مداوم

SonarQube، نه تنها سلامتی یک برنامه را نشان می‌دهد، بلکه مشکلاتی که اخیرا ایجاد شده‌‌اند را نیز به تصویر می کشد. به کمک قابلیت Quality Gate، می‌توانید نشتی برنامه را برطرف نموده و در نتیجه کیفیت کد را به طور سیستماتیک بهبود ‌بخشید.

نرم افزار SonarQube

شناسایی مشکلات فریب‌‌دهنده

تحلیلگرهای کد ابزار SonarQube، جهت شناسایی مشکلات فریب‌دهنده ای همچون عدم ارجاع به اشاره‌گر تهی، خطاهای منطقی و نشتی‌ منابع مجهز به موتورهای قدرتمند و حساس به مسیر جریان داده شده‌اند.

نرم افزار sonarqube
نرم افزار sonarqube

کیفیت متمرکز

مکانی برای فراهم نمودن یک دید مشترک از کیفیت کد برای توسعه‌دهندگان، مدیران فنی و مدیران پروژه می‌باشد و همچنین به عنوان یک دروازه برای توسعه یا انتشار برنامه کاربردی عمل می‌کند.

نرم افزار sonarqube

یکپارچگی با DevOps

SonarQube با استفاده از webhooks و RestAPI داخلی آن، با تمامی ابزارهای DevOps از قبیل سیستم‌های ساخت، موتورهای CI و خطوط لوله‌ توسعه یکپارچه‌ می‌شود.

تشخیص مشکلات فریبنده

تشخیص خطاها

واضح است که مشکلات ناشی از SonarQube به علت کد اشتباه، یا کدی است که رفتار مورد نظر را از خود نشان نمی‌دهد. در حالیکه می‌دانید مشکلات در مکان‌های مختلف برنامه وجود دارند، به آسانی با حرکت در طی مسیرهای کد، فریبنده‌ترین خطاها را می توانید پیدا کنید.

نرم افزار SonarQube

Code Smell ها

Smelly code معمولا آنچه را که باید انجام ‌دهد، انجام می دهد اما قابلیت نگهداشت آن سخت است. نمونه‌هایی از آن شامل کد تکراری، کد پوشش داده نشده توسط تست‌های واحد و کدهای خیلی پیچیده می‌باشد.

نرم افزار SonarQube

آسیب‌پذیری امنیتی

ممکن است تصور‌کنید که شما هرگز توسط هکرها مورد هدف قرار نخواهید گرفت. هنگامی که مورد هدف هکرها قرار بگیرید، چه آسیب‌هایی در سیستم شما پیدا می‌شود؟ SonarQube به شما کمک می‌کند تا ناامنی‌های موجود در کد خود را پیدا نموده و ردیابی کنید. نمونه‌هایی از آن شامل تزریق SQL، پسوردهای هارد کد شده و خطاهای مدیریت نشده می‌باشد.

نرم افزار SonarQube

فعال کردن قواعد مورد نیاز

تحلیلگر کد SonarQube، شامل پروفایل‌های پیش‌فرض کیفیت می‌باشد که مقادیر مناسبی را به همراه مجموعه قواعد مجاز فراهم می سازند. پروفایل‌های ‌‌ پیش‌فرض کیفیت برای اکثر پروژه‌ها کار می‌کند، اما می‌توانید به آسانی آنها را برای مطابقت با نیاز‌های خود تنظیم نمایید. صفحه قواعد امکان یافتن قوانین با استفاده از چند معیار را (به تنهایی یا در ترکیب با یکدیگر) فراهم می‌سازد. بر اساس نتایج جستجو می‌توانید این قواعد را در پروفایل کیفیت خود فعال یا غیرفعال کنید.

نرم افزار SonarQube

کشف همه مسیرهای اجرایی

SonarQube، متکی بر چندین موتور جریان داده حساس به مسیر می‌باشد ولذا تحلیلگر کد همه مسیرهای اجرایی ممکن را کشف می‌کند تا همه خطاهای فریبنده را شناسایی نماید. حتی یک تابع ساده که فقط دارای 10 انشعاب مختلف می‌باشد می‌تواند منجر به 100 مسیر اجرایی در زمان اجرا شود. بررسی دستی این 100 مسیر اجرایی به سادگی ممکن نیست.

نرم افزار SonarQube

پشتیبانی از تحلیل سورس برنامه های نوشته شده به زبان های متعددی همچون Java، C/C++، Objective-C، C#، PHP، Flex، Groovy، Python، COBOL و غیره

پشتیبانی از تحلیل سورس توابع و روال های دیتابیسی نوشته شده به زبان های PL/SQL و TSQL

پشتیبانی از تحلیل سورس های سمت کلاینت همچون HTML، HTML5، CSS، Java Script و Ex JS

پشتیبانی از تحلیل سورس برنامه های کاربردی موبایل تحت بسترهایی همچون Android و iOS

تحلیل کیفیت برنامه نویسی از دیدگاه های مختلفی همچون طراحی، اصول کدنویسی، میزان مستندسازی، میزان قابلیت استفاده مجدد و پیچیدگی

ارائه نمودارها و آمارهای متعدد جهت شناسایی اشکالات برنامه نویسی

ارائه گزارش های جامع از نتایج تحلیل کد

قابلیت یکپارچه سازی با Maven، Ant، Gradle، Bamboo، Jenkins و Hudson

امکان یکپارچه سازی با محیط های تولید رایج همچون Eclipse، Intellij و Visual Studio

قابلیت ایجاد پلاگین و تعریف قوانین شخصی برای زبان های مختلف

قابلیت یکپارچه سازی با ابزارهای مدیریت خطا همچون Jira، TFS و Mantis

یکپارچه سازی با متدولوژی SQALE جهت محاسبه میزان کار و هزینه رفع خطاهای برنامه نویسی