علی امینی
4 سال پیش توسط علی امینی مطرح شد
6 پاسخ

معایب استفاده از پکیج ها در لاراول

سلام دوستان
یک سوالی که برام پیش اومده اینه که استفاده از پکیج ها در لاراول چه معایبی میتونه داشته باشه؟!
مثلا پکیج هایی که مربوط به الوکوئنت هستند و به شکل تریت به مدل اضافه میشوند


ثبت پرسش جدید
مهدی عقیقی
تخصص : برنامه نویس وب
@MehdiAghighi 4 سال پیش مطرح شد
0

@mehdi2private سلام وقتتون بخیر منم نظر خودمو بگم.

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

مثلا من خودم یک بار از پکیج laravel-meta استفاده کردم ( هنوزم هست ) ولی توی یه قسمتی از پروژه یهو فهمیدم که این پکیج با نسخه ۷ لاراول یه مشکلی داره و خب این مورد وسط پروژه خیلی منو اذیت کرد و آخرش مجبور شدم کلی کد رو تغییر بدم و این قابلیت رو خودم پیاده کنم.

در مورد حرفی که @SinaFXD زد و گفت که ساخت پکیجی که از قبل وجود داره اختراع دوباره چرخ هستش

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

مثلا من خودم قبل از ورود به یادگیری لاراول، شروع کردم یک فریمورک MVC با PHP خام درست کردم که خیلی اذیت شدم و خیلی سخت بود، ولی همین باعث شد وقتی وارد لاراول شدم بر خلاف خیلیا که همینجوری می‌پرن تو لاراول و خیلی گیج میشن، اصلا گیج نشدم و خیلی سریع تونستم یاد بگیرم.

دوباره می‌گم که این نظر من بر اساس تجربه خودم بود شاید دوستان نظر دیگه‌ای داشته باشن.


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش آپدیت شد
0

@mehdi2private
سلام.
اگر پکیج باگ نداشته باشه هیچ عیبی ندارن.


علی امینی
@mehdi2private 4 سال پیش مطرح شد
0

@mohsenbostan
بسیار ممنونم از شما
به عنوان مثال شخص شما اگر ببینید پکیجی برای یک فیچری که شما قصدش رو دارید بسازید ساخته شده
از اون استفاده میکنید یا ترجیح میدید خودتون کد بزنید؟
و اینکه استفاده از پکیج در سرعت سایت که نمیتونه تاثیر گذار باشه


SinaFXD
تخصص : ...
@SinaFXD 4 سال پیش مطرح شد
0

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


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش مطرح شد
0

@mehdi2private
حتما از چیزی که قبلا ساخته شده استفاده میکنم.

در مورد سرعت هم باید بگم ربطی نداره. بستگی به نوع کار یا الگوریتم داره.


مهدی عقیقی
تخصص : برنامه نویس وب
@MehdiAghighi 4 سال پیش مطرح شد
0

@mehdi2private سلام وقتتون بخیر منم نظر خودمو بگم.

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

مثلا من خودم یک بار از پکیج laravel-meta استفاده کردم ( هنوزم هست ) ولی توی یه قسمتی از پروژه یهو فهمیدم که این پکیج با نسخه ۷ لاراول یه مشکلی داره و خب این مورد وسط پروژه خیلی منو اذیت کرد و آخرش مجبور شدم کلی کد رو تغییر بدم و این قابلیت رو خودم پیاده کنم.

در مورد حرفی که @SinaFXD زد و گفت که ساخت پکیجی که از قبل وجود داره اختراع دوباره چرخ هستش

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

مثلا من خودم قبل از ورود به یادگیری لاراول، شروع کردم یک فریمورک MVC با PHP خام درست کردم که خیلی اذیت شدم و خیلی سخت بود، ولی همین باعث شد وقتی وارد لاراول شدم بر خلاف خیلیا که همینجوری می‌پرن تو لاراول و خیلی گیج میشن، اصلا گیج نشدم و خیلی سریع تونستم یاد بگیرم.

دوباره می‌گم که این نظر من بر اساس تجربه خودم بود شاید دوستان نظر دیگه‌ای داشته باشن.


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
1

شما میتونی ساختار اون پکیج رو بررسی کنی
به راحتی ریپازیتوری گیت‌هابش رو باز کن
سورس کدهاش رو بررسی کن..

اکثر پکیج های خوب با در نظر گرفتن یک سری موارد در واقع باعث میشند ما از معماری صحیحی برای قسمت های مختلف اپلیکیشنمون استفاده کنیم..
از اونجایی هم که شئ گرایی در جای جای لاراول استفاده شده و همه جا با کلاس های مختلف سر و کار داریم، بنابراین این پکیج ها رو میشه چک کرد و دید آیا:

  • قواعد SOLID در اونها رعایت شده؟ و اگر نشده به چه علت بوده؟
  • در جایی که امکانش بوده، از الگوهای طراحی استفاده شده یا خیر؟
  • آیا نیازی به تست نویسی بوده؟ و تستی نوشته شده؟
  • آیا پکیج issue های حل نشده زیادی داره؟

مثلا پکیج هایی که مربوط به الوکوئنت هستند و به شکل تریت به مدل اضافه میشوند

در جواب این سوال میشه گفت: اکثر این نوع پکیج ها به خوبی Polymorphism یا روابط چندریختی رو پیاده‌سازی کردند. به همین خاطر شما راحت اون ویژگی رو به مدلت اضافه میکنی..
اما آیا بقیه موارد بالا رو رعایت کردند یا نه... باید بررسی بشه


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

ورود یا ثبت‌نام