This pattern of wrapping unstructured data in types, so that we can use that data in a reliable way, is called “data transfer objects”. It's the first concrete pattern I highly recommend you to use in your larger-than-average Laravel projects.
#BrentRoose
#BrentRoose
👍2
انتخاب اسمهای طولانی در صورت ضرورت، ایرادی نداره و اجتنابناپذیره. Brent Roose میگه ما توی یکی از پروژههامون یه همچین کلاسی داریم:
میگه: ما اولش از این اسم متنفر بودیم و تلاش کردیم کوتاهش کنیم، اما در نهایت باید اعتراف میکردیم که وضوح این اسم نسبت به کاری که کلاس انجام میده، مهمترین چیزه و IDEهامون مراقب هستند که وقتی اسم این کلاسهای طولانی رو مینویسیم، اشتباه ننویسیم. پس طولانیبودنشون خطری نداره.
CreateOrUpdateHabitantContractUnitPackageAction 😁میگه: ما اولش از این اسم متنفر بودیم و تلاش کردیم کوتاهش کنیم، اما در نهایت باید اعتراف میکردیم که وضوح این اسم نسبت به کاری که کلاس انجام میده، مهمترین چیزه و IDEهامون مراقب هستند که وقتی اسم این کلاسهای طولانی رو مینویسیم، اشتباه ننویسیم. پس طولانیبودنشون خطری نداره.
👍4🔥1
Before:
ادیت: کد اول، جدا از پیچیدگی و کثیفبودن، در صورتی که کاراکتر | داخل رشته نباشه، ارور میده (توی بخش دوم)، اما کد دوم در هر صورت درست کار میکنه.
{{ explode('|', $gift->noscript)[0] }} - {{ explode('|', $gift->noscript)[1] }}
After:{{ str_replace('|', ' - ', $gift->noscript) }}
آدم تحت فشار کدهای مزخرفی مینویسه. 😂ادیت: کد اول، جدا از پیچیدگی و کثیفبودن، در صورتی که کاراکتر | داخل رشته نباشه، ارور میده (توی بخش دوم)، اما کد دوم در هر صورت درست کار میکنه.
😁3👍2
این وبسایت یه مجموعه از cheatsheetهای زبانهای برنامهنویسی و حتی ابزارها و لایبرریهای مختلف رو جمع کرده:
https://devhints.io
https://devhints.io
Devhints.io cheatsheets
https://assets.devhints.io/previews/index.jpg
A ridiculous collection of web development cheatsheets
👍2🔥1
این پروژۀ جدیدیه که دارم شروع میکنم و محتاج ⭐️ شما هستم.
این پروژه، یه شبکۀ اجتماعیه برای افرادی که به چیز خاصی اعتیاد دارند و خودشون رو به چالش میکشند. ان شاء الله رنکینگ و اشیومنت و این جور چیزها خواهد داشت. تستهای خوبی خواهم نوشت و از PHP/Laravel/Docker استفاده میکنم. برای پیادهکردن فید، ایدههایی دارم که حالا بعدا باید ببینیم چطوری میشه.
https://github.com/muhammadmp97/Hope
این پروژه، یه شبکۀ اجتماعیه برای افرادی که به چیز خاصی اعتیاد دارند و خودشون رو به چالش میکشند. ان شاء الله رنکینگ و اشیومنت و این جور چیزها خواهد داشت. تستهای خوبی خواهم نوشت و از PHP/Laravel/Docker استفاده میکنم. برای پیادهکردن فید، ایدههایی دارم که حالا بعدا باید ببینیم چطوری میشه.
https://github.com/muhammadmp97/Hope
🤩9🔥2
امروز چند ساعت وقت باارزش هدر رفت، فقط برای اینکه مرورگر Brave اجازه شیر کل صفحه رو نمیداد (بعدا فهمیدم که Firefox چنین مشکلی نداره) و مجبور شدم به خاطرش wayland رو غیر فعال کنم و همین باعث شد به صورت دومینویی کلی چیزهای دیگه خراب بشه.
اگه چیزی کار میکنه، بهش دست نزنید.
راهحل جایگزین پیدا کنید.
اگه چیزی کار میکنه، بهش دست نزنید.
راهحل جایگزین پیدا کنید.
🔥5😢1
شاید دار و ندارتون بریزه وقتی بدونید که حتی درصد باتری توی لینوکس، یه فایله!
😁9👍1
اگه مدیر یه پروژه شدید، این رو بدونید که بلاتکلیفی یکی از مهمترین عوامل بهوجوداومدن بدهی فنیه.
اینکه دیزاین کاملا آماده نیست، مدیر محصول خودش هم نمیدونه چیکار میکنه، محتوایی وجود نداره... همه اینها باعث میشه که وقت هدر بره و کار خاصی انجام نشه.
اگه جلسات به اصطلاح daily وجود نداشته باشه، جلوی این هدررفتن وقت رو هم نمیشه گرفت چون سخت میشه فهمید که مشکل کجاست و چی کمه.
اینجا دو مهارت به درد شما میخوره:
۱. ارتباط موثر و جمعکردن هر کسی که ممکنه بخشی از مشکل باشه برای پیداکردن راهحل سریع.
۲. اولویتبندی کارها.
اینطوری میشه بعضی تسکها رو (حتی اگه قبلا اولویت کمتری داشتند) اولویت داد تا بقیه تیم معطل رسیدن نمونند. 😁
اینکه دیزاین کاملا آماده نیست، مدیر محصول خودش هم نمیدونه چیکار میکنه، محتوایی وجود نداره... همه اینها باعث میشه که وقت هدر بره و کار خاصی انجام نشه.
اگه جلسات به اصطلاح daily وجود نداشته باشه، جلوی این هدررفتن وقت رو هم نمیشه گرفت چون سخت میشه فهمید که مشکل کجاست و چی کمه.
اینجا دو مهارت به درد شما میخوره:
۱. ارتباط موثر و جمعکردن هر کسی که ممکنه بخشی از مشکل باشه برای پیداکردن راهحل سریع.
۲. اولویتبندی کارها.
اینطوری میشه بعضی تسکها رو (حتی اگه قبلا اولویت کمتری داشتند) اولویت داد تا بقیه تیم معطل رسیدن نمونند. 😁
👍1