- 18:59 1405/1/18
- میلاد
قراره بازم کارمو کنم . تا آخرین لحظه برای چیزی که میخواستم و نشد ، تلاش میکنم.
تا اونجایی که شیشهی پنجره بالا سرم پخش بشه تو بدنم.
من اون همه شب تا صبح بیدار نموندم که الان بیخیال بشم.
راستی اینا فقط حرفای خودم به خودمه.
قراره بازم کارمو کنم . تا آخرین لحظه برای چیزی که میخواستم و نشد ، تلاش میکنم.
تا اونجایی که شیشهی پنجره بالا سرم پخش بشه تو بدنم.
من اون همه شب تا صبح بیدار نموندم که الان بیخیال بشم.
راستی اینا فقط حرفای خودم به خودمه.
همین انتزاعی شدن باعث میشه شما توابع رو درست تر بنویسی
یکی از مهم ترین اصول کد نویسی تمیز اینه که هر تابع یک کار رو انجام بده ، وقتی تبدیل به یه تابع انتزاعی میشه نا خود آگاه این اتفاق میوفته ، مثل اون مفهوم انتزاعی جعبه موسیقی که فقط کارش پخش موسیقیه و غذای شما رو گرم نمیکنه
شما برای اینکه یه تابع انتزاعی درست داشته باشید ناخودآگاه مجبور به نوشتن یه تابع میکنید که فقط یه مسئولیت داره
حتی درک واژه هم تو این مورد مهمه
با مثال پیش بریم ، حافظه یک مفهوم انتزاعیه ، شما نمیتونی بگی حافظه برابر است با SSD یا RAM
حافظه یک مفهومه که میتونه شامل تمام گزینه ها بشه ، فقط یه سری توضیحات داره ، میگه که هر چیزی که بتونه اطلاعات رو ذخیره و بازیابی کنه ، یک حافظه است ، اینکه چجوری و به چه واسطهای این کار رو میکنه برای حافظه مهم نیست.
شما یک جعبه رو در نظر بگیر که دوتا دکمه داره روش دکمه اول میزنی آهنگ پخش میشه دکمه دوم میزنی قطع میشه ، حالا داخل اون جعبه میتونه گرامافون باشه ، میتونه یه اسپیکر از برند سونی باشه و... ، اما اسم اون جمعه "پخش کننده موسیقی" به این اسم میگن یک مفهوم انتزاعی
ما تو دنیای برنامه نویسی خیلی وقتا سعی میکنیم توابع و کلاس ها رو تبدیل کنیم به توابع و کلاس های انتزاعی ، که با دیدن اسمش از ماهیت کاری که انجام میده باخبر بشیم ، بدون نیاز به اینکه بدونیم توش چجوری کار میکنه ، فقط همون دوتا دکمه ( پارامتر های تابع رو فرض کنید ) کار ما رو راه میندازه
Abstraction
بسیار مهمه ، برای اینکه بفهمی کد تمیز چیه ، برای اینکه بتونی کد بهتری بزنی ، برای اینکه درک کنی بقیه برنامه نویس ها چرا بعضی تصمیم ها رو گرفتن.
هر کامپوننت که میبینی از خودت بپرس، چه چیزی ؟ چجوری ؟
یکی از راه های ریز کردن کامپوننت ها اینه. یا وضیفش این باشه که چجوری نمایش بده یا اینکه چه چیزی ( چه چیز هایی ) نمایش بده.
اگر جفتش باهم بود بهش شک کن.
تو تمیز کردن کد، قدم های کوتاه مهمه
( درواقع تمیز کردن کد نباید خیلی زمان بگیره ازت، ولی انجامش اجباریه )
چون اگر یهو بزنی یه تابع خیلی بزرگ رو ده تیکه کنی، احتمال داره به باگ بخوری، حل کردن باگ برای refactor کردن ، ازت زمان بی فایده میگیره و معمولا تو این حالت سخت تر میشه پیدا کرد کدوم بخش از چیزی که خورد کردی به باگ خورده.
پس کم کم تمیز کاری کن و هر کار کوچیکی که انجام میدی، تست های مروبط بهش رو اجرا کن.
بذار این کار برات روتین بشه، هر روز سیستم رو روشن کن برو تو محیط کد تا جایی که امکان داره کد بزن، حداقل دو خط بنویس، یه کم کد بخون هر جوری شده حتی پنج دقیقه هم، وقت بذار پاش . هرچقدر بیشتر تلاش نکنی تنبل تر میشی.
هیچ روز صفری نداشته باش.
همه میتونن کد بنویسن که کامپیوتر ها بفهمن ؛ یه برنامهنویس خوب ، کدی مینویسه که انسان ها هم بفهمن
اینم از اوج جوونی بچه های دهه هشتاد
واقعا rich editor خیلی باحالیه ، به شدت منعطف و قابل شخصی سازیه ، خیلی خوب تو next js کار میکنه ( مشکلات ssr نداره ) و واقعا پلاگین های مفید زیادی داره .
من به سلیقه خودم با shadcn ترکیبش کردم و یه تکست ادیتور بنظر تمیز برای محتوای وبلاگ ازش بیرون کشیدم ، پیشنهاد میکنم حتما باهاش کار کنید ( نمونه های اماده خوبی هم تو مستندات رسمی خودش هست )