Codacy یک ابزار آنالیز خودکار برای بررسی کیفیت سورسکد است و این امکان را به دولوپرها میدهد تا نرمافزارهای خود را بهتر و سریعتر توسعه دهند. همچنین دولوپرها قادر خواهند بود تا با بهرهگیری از این ابزار، استانداردهای کیفیت را بر سورسکد خود اعمال کنند و در زمان بازبینی کد صرفهجویی نمایند. علاوه بر این موارد، ابزار Codacy یکسری به اصطلاح Best Practice را نیز برای تأمین امنیت سورسکد ارائه کرده است. لازم به ذکر است که این ابزار به منظور نظارت بر کیفیت کد و توسط تمام دولوپرها از تیمهای کوچک برنامهنویسی تا شرکتهای بزرگ هم میتواند مورد استفاده قرار میگیرد.
صرفهجویی در زمان بازبینی کد
با استفاده از این ابزار، دولوپرها میتوانند آنالیزی استاتیک از کدهای خود، بررسی پیچیدگیهای آن، مشخص کردن کدهای تکراری موجود در سورسکد و همچنین تغییرات اعمال شده در هر کامیت را داشته باشند. همچنین دولوپرها میتوانند با ادغام این ابزار با ریپازیتوری گیتهاب خود، کیفیت کد به ازای تغییرات در هر به اصطلاح Pull Request را آنالیز کنند (Pull Request یک درخواست برای ادغام یک یا چند کامیت در شاخههای متفاوت است.)
ادغام با وُرکفلو دولوپر
Codacy بسیار انعطافپذیر بوده و سازگار با فرایند بازبینی کد دولوپر است و نتایج بازبینی سورسکد را به صورت کامنتهایی در هر Pull Request در سورسکد میآورد یا به عنوان نوتیفیکیشن در کانالهایی همچون Slack یا Hipchat ارسال میکند.
همچنین Codacy به خوبی میتواند با سایر ابزارهای CI در پروژۀ شما کار کند و به عنوان یک مکمل ایدهآل برای مرحلۀ Unit Test نرمافزار است (در مهندسی نرمافزار، Continuous Integration به معنای «ادغام مداوم» عمل ادغام تمام نسخههای کاری دولوپر در یک پروۀ مشترک و چندین بار در روز را شامل میشود؛ همچنین Unit Test یک سطح از تست نرمافزار است که در آن کامپوننتهای نرمافزار مورد آزمایش قرار میگیرند و هدف اصلی این است تا تست و بررسی شود که آیا هر کامپوننت نرمافزار به همان صورت که طراحی شده بود، کار میکند یا خیر.)
بررسی پیشرفت کیفیت کد
دولوپرها میتوانند کیفیت سورسکد پروژهٔ خود را بررسی کرده، پیشرفت کیفیت آن را در طول زمان دنبال کنند و به راحتی بدهیهای فنی سورسکد را رفع نمایند (برای کسب اطلاعات بیشتر در مورد ماهیت بدهی فنی، میتوانید به مقالهٔ Technical Debt: بدهی فنی چیست و چگونه میتوان از آن به نفع خود استفاده کرد؟ مراجعه نمایید.) این ابزار در راستای بررسی کیفیت سورسکد، به سه سؤال پاسخ میدهد که عبارتند از:
- کیفیت سورسکد پروژۀ شما در چه سطحی است؟
- پیشرفت کیفیت آن در طول زمان چگونه بوده است؟
- نقاط مهم یا نقاطی از سورسکد که زمان بیشتری را برای اجرا میخواهند، کدام هستند؟