Codino School – Telegram
Codino School
1.91K subscribers
160 photos
277 videos
18 files
292 links
پروفایل تخصصی مدرس :
https://www.github.com/imanghafoori1

آموزش ترفندهای clean code, آموزش laravel

@codino_admin
Download Telegram
conventions.yml
1.9 KB
🔅 با نگاهی به این فایل می‌تونید ببینید که چطوری میشه در github action ها از میکروسکوپ به همراه لایه ی کش بهره برد.


▪️این فایل رو من برای پروژه خودمون نوشتم ولی اگر شما هم پروژه لاراولی رو گیت هاب دارید، احتمالا بتونید از این فایل بدون تغییر روی پروژه تون استفاده کنید.

@codino
👏11👍1👌1
Printer.php
9.1 KB
این فایل رو داخل پوشه tests قرار بدید و بعد این دستور رو اجرا کنید:

php artisan test --printer=Tests\Printer


اتفاق جالبی براتون میافته 😏
البته اگر تستی در بساط داشته باشید...

@codino
👀7👍3🤓1
با همچین سکانسی مواجه میشید
🔥16👍1👏1😁1👌1
Forwarded from Codino School (ایمان)
📚 آموزش interactive rebase

📽 ویدئوهای در قسمت نظرات 👇👇👇

🔗 ▫️ 01 ▫️ 02 ▫️ 03 ▫️ 04 ▫️ 05 ▫️ 06 ▫️ 07 ▫️08▫️

@codino
5👍2
پروژه تون رو کجا گذاشتید؟
Anonymous Poll
65%
GitHub
31%
Gitlab
4%
Bitbucket
18%
Private Server
6%
Other
آیا تست ها تون رو در حالت parallel اجرا می کنید؟
Anonymous Poll
14%
بله
33%
خیر
54%
تست نداریم
TestParallel.php
3.1 KB
این فایل رو میتونید بذارید داخل پوشه commands
و با دستور 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 می‌تونید دستور زیر رو اجرا کنید:

php artian check:arrow_functions --folder=app

تبدیل خودکار توابع بینام به معادل شون از نوع پیکانی

fn () =>


@codino
🤓62
کدام ابزار رو برای تست نویسی انتخاب می‌کنید؟
Anonymous Poll
77%
Phpunit
23%
Pest
4%
Dusk
7%
other
👍1🥴1
آیا code coverage رو برای تست هاتون اندازه گیری می‌کنید؟
Anonymous Poll
20%
بله
40%
خیر
40%
تست نداریم
😁5👀4
▪️شاید باورتون نشه ولی با تغییر ترتیب اعضای این آرایه دستور check:import حدود ۳۰-۴۰٪ سریع تر اجرا شد.

▪️ منطق شم اینه:
اونایی که به لحاظ آماری تو کد پر تکرار هستند باید بالاتر قرار بگیرند و اونایی که به ندرت استفاده میشن باید برن پایین...
چون از بالا به پایین وقتی داره جستجو می‌کنه به محض پیدا شدن، ادامه لیست رو بررسی نمی‌کنه. پس چه بهتر که پرکاربردها بالا باشن که پایینی ها الکی بررسی نشن.

▪️ نسخه جدید هنوز منتشر نشده...

@codino
👍9🔥3
قبل و بعد از این بهینه سازی

دستور نصب میکروسکوپ:
composer require imanghafoori/laravel-microscope --dev


دستور بهینه سازی شده در نسخه جدید:
php artisan check:import


احتمالا در نسخه های بعدی سریع تر هم بشه 🙂


@codino
👍8😁1
در بهینه سازی مجدد در نسخه v1.0.366 این بار سرعت اجرا دستور زیر ۲ برابر شد.

روش بهینه سازی این بار استفاده از hash table به جای عملگر === بود.

php artisan check:import

https://github.com/imanghafoori1/laravel-microscope

🔬🔬🔬

@codino
👍5
اگر میخواید از deep source استفاده کنید باید این متغیر رو بگذارید داخل github secrets تا بتونید گزارش code coverage رو براش ارسال کنید...

@codino
👍4
جایگزین مناسبی برای postman و insomnia

https://www.usebruno.com/


@codino
👌10👍3👀3
به نظرم هوش مصنوعی جای برنامه نویس‌ها نمی‌گیره ولی احتمالا بتونه به عصر تاریک بی‌تستی پایان بده...

https://www.codium.ai/

@codino
👍10🔥3
آیا از هوش مصنوعی برای تست‌نویسی کمک می‌گیرید؟
Anonymous Poll
47%
بله
53%
خیر