در نسخه v1.0.352 دستور:
میتونید کلاسهای migration رو تبدیل به کلاس های بی نام کنید.
البته برای این کار نیاز هست که نسخه لاراول تون از 8.37 بالاتر باشه
https://github.com/imanghafoori1/laravel-microscope
🔬🔬🔬
@codino
php artisan check:migrationsمیتونید کلاسهای migration رو تبدیل به کلاس های بی نام کنید.
البته برای این کار نیاز هست که نسخه لاراول تون از 8.37 بالاتر باشه
https://github.com/imanghafoori1/laravel-microscope
🔬🔬🔬
@codino
GitHub
GitHub - imanghafoori1/laravel-microscope: Fearless refactoring, it does a lot of smart checks to find certain errors.
Fearless refactoring, it does a lot of smart checks to find certain errors. - imanghafoori1/laravel-microscope
👍4
در نسخه v1.0.353 دستور:
قابلیت این رو داره که چند تا فولدر رو بهش بدید و بین شون کاما , بگذارید.
سایر دستورات هم این قابلیت رو دارند البته.
https://github.com/imanghafoori1/laravel-microscope
@codino
php artisan check:imports --folder=folder1,folder2قابلیت این رو داره که چند تا فولدر رو بهش بدید و بین شون کاما , بگذارید.
سایر دستورات هم این قابلیت رو دارند البته.
https://github.com/imanghafoori1/laravel-microscope
@codino
GitHub
GitHub - imanghafoori1/laravel-microscope: Fearless refactoring, it does a lot of smart checks to find certain errors.
Fearless refactoring, it does a lot of smart checks to find certain errors. - imanghafoori1/laravel-microscope
👍3
Codino School
در نسخه v1.0.350 دستور: php artisan check:empty_comment اضافه شده که باهاش میتونید کامنت های خالی رو در پروژه پیدا و پاک کنید. اگر کنجکاو هستید که این دستور چطوری کار میکنه میتونید فایل زیر رو نگاه کنید: https://github.com/imanghafoori1/laravel-micros…
در نسخه جدید یه لایه cache روی این دستور اضافه شد که سرعت ش رو تا ۱۰ برابر بیشتر میکنه.
سایر دستورات مشابه هم از این لایه کش استفاده میکنند.
@codino
سایر دستورات مشابه هم از این لایه کش استفاده میکنند.
@codino
❤3🔥3👍1
conventions.yml
1.9 KB
🔅 با نگاهی به این فایل میتونید ببینید که چطوری میشه در github action ها از میکروسکوپ به همراه لایه ی کش بهره برد.
▪️این فایل رو من برای پروژه خودمون نوشتم ولی اگر شما هم پروژه لاراولی رو گیت هاب دارید، احتمالا بتونید از این فایل بدون تغییر روی پروژه تون استفاده کنید.
@codino
▪️این فایل رو من برای پروژه خودمون نوشتم ولی اگر شما هم پروژه لاراولی رو گیت هاب دارید، احتمالا بتونید از این فایل بدون تغییر روی پروژه تون استفاده کنید.
@codino
👏11👍1👌1
Printer.php
9.1 KB
این فایل رو داخل پوشه tests قرار بدید و بعد این دستور رو اجرا کنید:
اتفاق جالبی براتون میافته 😏
البته اگر تستی در بساط داشته باشید...
@codino
php artisan test --printer=Tests\Printer
اتفاق جالبی براتون میافته 😏
البته اگر تستی در بساط داشته باشید...
@codino
👀7👍3🤓1
پروژه تون رو کجا گذاشتید؟
Anonymous Poll
65%
GitHub
31%
Gitlab
4%
Bitbucket
18%
Private Server
6%
Other
TestParallel.php
3.1 KB
این فایل رو میتونید بذارید داخل پوشه commands
و با دستور artisan test:parallel
تستهاتون رو به صورت موازی در ۳ رشته مجزا اجرا کنید.
البته در نظر داشته باشید که که باید سه فایل phpunit1.xml و phpunit2.xml , phpunit3.xml رو تعریف کنید و داخل شون تست سوییت های متفاوت برای پوشه های متفاوت بنویسید. (مثال ش رو در قسمت کامنت ها ببینید)
برای پروژه ما سرعت تست ها تقریبا ۲ برابر شد.
به هر حال یه نگاهی به محتوای فایل داشته باشید. آموزنده س.
@codino
و با دستور artisan test:parallel
تستهاتون رو به صورت موازی در ۳ رشته مجزا اجرا کنید.
البته در نظر داشته باشید که که باید سه فایل phpunit1.xml و phpunit2.xml , phpunit3.xml رو تعریف کنید و داخل شون تست سوییت های متفاوت برای پوشه های متفاوت بنویسید. (مثال ش رو در قسمت کامنت ها ببینید)
برای پروژه ما سرعت تست ها تقریبا ۲ برابر شد.
به هر حال یه نگاهی به محتوای فایل داشته باشید. آموزنده س.
@codino
❤13
Codino School
در نسخه v1.0.353 دستور: php artisan check:imports --folder=folder1,folder2 قابلیت این رو داره که چند تا فولدر رو بهش بدید و بین شون کاما , بگذارید. سایر دستورات هم این قابلیت رو دارند البته. https://github.com/imanghafoori1/laravel-microscope @codino
در نسخه ی v1.0.364 میتونید دستور زیر رو اجرا کنید:
تبدیل خودکار توابع بینام به معادل شون از نوع پیکانی
@codino
php artian check:arrow_functions --folder=appتبدیل خودکار توابع بینام به معادل شون از نوع پیکانی
fn () =>
@codino
🤓6❤2
👍1🥴1
آیا code coverage رو برای تست هاتون اندازه گیری میکنید؟
Anonymous Poll
20%
بله
40%
خیر
40%
تست نداریم
😁5👀4
▪️شاید باورتون نشه ولی با تغییر ترتیب اعضای این آرایه دستور check:import حدود ۳۰-۴۰٪ سریع تر اجرا شد.
▪️ منطق شم اینه:
اونایی که به لحاظ آماری تو کد پر تکرار هستند باید بالاتر قرار بگیرند و اونایی که به ندرت استفاده میشن باید برن پایین...
چون از بالا به پایین وقتی داره جستجو میکنه به محض پیدا شدن، ادامه لیست رو بررسی نمیکنه. پس چه بهتر که پرکاربردها بالا باشن که پایینی ها الکی بررسی نشن.
▪️ نسخه جدید هنوز منتشر نشده...
@codino
▪️ منطق شم اینه:
اونایی که به لحاظ آماری تو کد پر تکرار هستند باید بالاتر قرار بگیرند و اونایی که به ندرت استفاده میشن باید برن پایین...
چون از بالا به پایین وقتی داره جستجو میکنه به محض پیدا شدن، ادامه لیست رو بررسی نمیکنه. پس چه بهتر که پرکاربردها بالا باشن که پایینی ها الکی بررسی نشن.
▪️ نسخه جدید هنوز منتشر نشده...
@codino
👍9🔥3
قبل و بعد از این بهینه سازی
دستور نصب میکروسکوپ:
دستور بهینه سازی شده در نسخه جدید:
احتمالا در نسخه های بعدی سریع تر هم بشه 🙂
@codino
دستور نصب میکروسکوپ:
composer require imanghafoori/laravel-microscope --dev
دستور بهینه سازی شده در نسخه جدید:
php artisan check:import
احتمالا در نسخه های بعدی سریع تر هم بشه 🙂
@codino
👍8😁1
در بهینه سازی مجدد در نسخه
روش بهینه سازی این بار استفاده از hash table به جای عملگر
https://github.com/imanghafoori1/laravel-microscope
🔬🔬🔬
@codino
v1.0.366 این بار سرعت اجرا دستور زیر ۲ برابر شد.روش بهینه سازی این بار استفاده از hash table به جای عملگر
=== بود.php artisan check:importhttps://github.com/imanghafoori1/laravel-microscope
🔬🔬🔬
@codino
👍5
اگر میخواید از deep source استفاده کنید باید این متغیر رو بگذارید داخل github secrets تا بتونید گزارش code coverage رو براش ارسال کنید...
@codino
@codino
👍4