TEST FIRST
اصل اول تست کن یکی از قوانین کتاب clean code 📝
میگه که هر کدی میخوای بنویسی نباید ازش بگذری و خیلی مطمعن بگی کار میکنه
به جاش مرحله به مرحله تستش کن
حالا فایدش چیه
شما وقتی یک برنامه رو مرحله به مرحله تست نکنی کلی کد برسی نشده رو رها کنی تا زمان اجرا کلی دیپندنسی برای کد های دیگت به وجود میاد و مجبور میشی ساعت ها وقت رو بزاری برای دیباگ کردنشون
پس هر کدی که مینویسید اول تستش کنید 😉
اصل اول تست کن یکی از قوانین کتاب clean code 📝
میگه که هر کدی میخوای بنویسی نباید ازش بگذری و خیلی مطمعن بگی کار میکنه
به جاش مرحله به مرحله تستش کن
حالا فایدش چیه
شما وقتی یک برنامه رو مرحله به مرحله تست نکنی کلی کد برسی نشده رو رها کنی تا زمان اجرا کلی دیپندنسی برای کد های دیگت به وجود میاد و مجبور میشی ساعت ها وقت رو بزاری برای دیباگ کردنشون
پس هر کدی که مینویسید اول تستش کنید 😉
👎1
یک اصل دیگه از کلین کد بگیم به نظرم وقتشه
خب بزارید یک بار تیتر وار ببینم کتاب رو 😉
خب بزارید یک بار تیتر وار ببینم کتاب رو 😉
🆒1
البته تا یک موضوع مناسب پیدا کنم خواستم اینو بگم که کتاب کلین کد و بقیه کتاب های این مجموعه
بر محور زبان جاوا توضیح داده شده مخصوصا در قسمت های که میاد و از بلوک های کد برای فهم بیشتر استفاده میکنه
ولی بازم میتونید تو هر زبانی از این ترفند ها بهره ببرید
من خودم جاوا کارنکردم
ولی برای یک برنامه نویس همه جا ideهست 😉
بر محور زبان جاوا توضیح داده شده مخصوصا در قسمت های که میاد و از بلوک های کد برای فهم بیشتر استفاده میکنه
ولی بازم میتونید تو هر زبانی از این ترفند ها بهره ببرید
من خودم جاوا کارنکردم
ولی برای یک برنامه نویس همه جا ideهست 😉
👍1
خب میرسیم به یکی از نکته ها و اصل های مهم این کتاب
Information Hiding principle
یا به عبارتی اصل پنهان کردن اطلاعات
چی میگه به ما میگه شما نباید بیای و همه بخش های کدت رو جلوی چشم خودت نگه داری
میتونی پنهانش کنی به فایل دیگه منتقلش کنی و کلی موارد مشابه
اینجوری با رفرنس دادن بهش میتونی کد خوانا تری بنویسی 😋
Information Hiding principle
یا به عبارتی اصل پنهان کردن اطلاعات
چی میگه به ما میگه شما نباید بیای و همه بخش های کدت رو جلوی چشم خودت نگه داری
میتونی پنهانش کنی به فایل دیگه منتقلش کنی و کلی موارد مشابه
اینجوری با رفرنس دادن بهش میتونی کد خوانا تری بنویسی 😋
🥰1
TahaIr.dev
خب میرسیم به یکی از نکته ها و اصل های مهم این کتاب Information Hiding principle یا به عبارتی اصل پنهان کردن اطلاعات چی میگه به ما میگه شما نباید بیای و همه بخش های کدت رو جلوی چشم خودت نگه داری میتونی پنهانش کنی به فایل دیگه منتقلش کنی و کلی موارد…
مثلا یک نمونه از این ها میتونه ایجاد یک فایل config تو پروژه باشه.
میتونید آدرس فایل هاتون
پسورد هاتون
Api هاتون
و تقریبا همه چیزی که نیازش دارید رو به این فایل منتقل کنید و زیاد هم جلوی چشمتون نباشه که راحت به بقیه کار ها رسیدگی کنید
میتونید آدرس فایل هاتون
پسورد هاتون
Api هاتون
و تقریبا همه چیزی که نیازش دارید رو به این فایل منتقل کنید و زیاد هم جلوی چشمتون نباشه که راحت به بقیه کار ها رسیدگی کنید
❤2👍1
خب بیاین یکم در مورد ابزار های ترمینالی برای عاشقان لینوکس
صحبت کنیم 😉❤️
امروز نوبت به تیماکس هست یک اسکرین مالتیپلکسر که میاد و کلی فیچر جدید به ترمینالتون اضافه میکنه
میتونید باهاش صفحتون رو نصف کنید بینشون جا به جا شید
یا این که بیاید و ورک اسپیس های مختلف بسازید
حتی مهم ترین قابلیتش اینه که میتونید بین سشن های مختلف سوییچ کنید و یا ببندیدش و دوباره باز نکنید و چیزی رو ببینید که قبلش میدید
دوستان سمت سرور میدونن در مورد کدوم فیچرش میخوام الان بگم
البته تو پست بعدی .
شما چی فکر میکنید ؟
صحبت کنیم 😉❤️
امروز نوبت به تیماکس هست یک اسکرین مالتیپلکسر که میاد و کلی فیچر جدید به ترمینالتون اضافه میکنه
میتونید باهاش صفحتون رو نصف کنید بینشون جا به جا شید
یا این که بیاید و ورک اسپیس های مختلف بسازید
حتی مهم ترین قابلیتش اینه که میتونید بین سشن های مختلف سوییچ کنید و یا ببندیدش و دوباره باز نکنید و چیزی رو ببینید که قبلش میدید
دوستان سمت سرور میدونن در مورد کدوم فیچرش میخوام الان بگم
البته تو پست بعدی .
شما چی فکر میکنید ؟
❤1
البته چون بحث تیماکس یکم داغه ترجیح میدم بیشتر در موردش پست بزارم
بیاین با هم فیچر هاشو برسی کنیم 😋😉
بیاین با هم فیچر هاشو برسی کنیم 😋😉
🥰1
خب بیاید مرحله به مرحله با تیماکس بریم جلو 5
قدم اول نصب تیماکس
میتونید توی هر توزیعی که هستید نصبش کنید
برای اوبنتو و دبیان بیس ها
apt install tmux
برای ارچ بیس ها
pacman -S tmux
برای رد هتی ها یا فدورا
dnf install tmux
و روش های دیگه ای که خودتون میشناسید
به نظرتون تیماکس ارزش نصب کردن داره؟ شما چی از تیمکس استفاده میکنید یا اسکرین
قدم اول نصب تیماکس
میتونید توی هر توزیعی که هستید نصبش کنید
برای اوبنتو و دبیان بیس ها
apt install tmux
برای ارچ بیس ها
pacman -S tmux
برای رد هتی ها یا فدورا
dnf install tmux
و روش های دیگه ای که خودتون میشناسید
به نظرتون تیماکس ارزش نصب کردن داره؟ شما چی از تیمکس استفاده میکنید یا اسکرین
🔥1
حالا بیاید اجراش کنیم و از شرتکات های خیلی بد دستی که داره با بهترین شکل ممکن استفاده کنیم
برای اجراش میتونید توی ترمینالتون بزنید
tmux
بعدش یک پاورلاین سبز قشنگ زیر ترمینالتون میبینید که امادست دستورات شما رو اجرا کنه
اولین چیزی هم که باید یاد بگیرید شورت کات
ctrl + b هست که وقتی اجراش کنید میتونید دستورات دیگه بهش بدید
مثلا همین شورت کات به اضافه درصد صفحه رو نصف میکنه
یا با z میتونید توی به اصطلاح پین هاتون زوم کنید
البته نیومدم اینجا بهتون تیماکس یاد بدم خواستم یک ذهنیتی ازش کسب کنید و برید باهاش ور برید
با علامت سوال هم میتونید کل دستورات تیمماکس رو بینید حواستون باشه همه دستورات تیماکس با کنترل به اضافه بی شروع میشه
برای اجراش میتونید توی ترمینالتون بزنید
tmux
بعدش یک پاورلاین سبز قشنگ زیر ترمینالتون میبینید که امادست دستورات شما رو اجرا کنه
اولین چیزی هم که باید یاد بگیرید شورت کات
ctrl + b هست که وقتی اجراش کنید میتونید دستورات دیگه بهش بدید
مثلا همین شورت کات به اضافه درصد صفحه رو نصف میکنه
یا با z میتونید توی به اصطلاح پین هاتون زوم کنید
البته نیومدم اینجا بهتون تیماکس یاد بدم خواستم یک ذهنیتی ازش کسب کنید و برید باهاش ور برید
با علامت سوال هم میتونید کل دستورات تیمماکس رو بینید حواستون باشه همه دستورات تیماکس با کنترل به اضافه بی شروع میشه
🔥1
خب بریم چند تا فیچر از این مالتی پلکسر ببینیم
اولیش همینه که میتونید صفحه رو نصف کنید بینشون جا به جا بشید زوم کنید بالا پاین برید و ... اکثرا همه کار هاتون رو میتونید با این فیچر جلو ببرید
ولی بیاید حرفه ای تر بهش نگاه کنیم 😉
یکی از ویژگی های فوق العاده تیماکس اینه که توی رم اجرا میشه و تا زمانی که سیستمتون روشنه تیماکستون فعال خواهد بود مگه این که به اصطلاح kill کنیدش (بکشیدش 👾😈)
البته خوبیش برای سیستم هایی که شما استفاده میکنید نیست چون اپتایم انچنانی ندارید
اون چیزی که این ویژگی رو متمایز میکنه اینه که میتونید توی سرور اجراش کنید و هروقت بهه سرور ssh کنید به همون تیماکس وصل شید و کار های قبلیتون رو انجام بدید بدون هیچ تغیری نسبت به قبلش
خب تو پست های بعدی این بحث رو دنبال میکنیم پس گوش به نوتیف باشید
قراره کلی چیز متفاوت رو تجربه کنید با تیماکس
البته چند تا مقایسه هم خواهیم داشت با ابزار های مشابه و یک مورد دیگه ولی خب فعلا منتظر پست های بعد باشید
هرکس تا این جا به تیماکس علاقه مند شده اعلام حضور کنه با یک قلب قرمز یا این که سوالاتونو میتونید دایرکت همین کانال بپرسید ( :
اولیش همینه که میتونید صفحه رو نصف کنید بینشون جا به جا بشید زوم کنید بالا پاین برید و ... اکثرا همه کار هاتون رو میتونید با این فیچر جلو ببرید
ولی بیاید حرفه ای تر بهش نگاه کنیم 😉
یکی از ویژگی های فوق العاده تیماکس اینه که توی رم اجرا میشه و تا زمانی که سیستمتون روشنه تیماکستون فعال خواهد بود مگه این که به اصطلاح kill کنیدش (بکشیدش 👾😈)
البته خوبیش برای سیستم هایی که شما استفاده میکنید نیست چون اپتایم انچنانی ندارید
اون چیزی که این ویژگی رو متمایز میکنه اینه که میتونید توی سرور اجراش کنید و هروقت بهه سرور ssh کنید به همون تیماکس وصل شید و کار های قبلیتون رو انجام بدید بدون هیچ تغیری نسبت به قبلش
خب تو پست های بعدی این بحث رو دنبال میکنیم پس گوش به نوتیف باشید
قراره کلی چیز متفاوت رو تجربه کنید با تیماکس
البته چند تا مقایسه هم خواهیم داشت با ابزار های مشابه و یک مورد دیگه ولی خب فعلا منتظر پست های بعد باشید
هرکس تا این جا به تیماکس علاقه مند شده اعلام حضور کنه با یک قلب قرمز یا این که سوالاتونو میتونید دایرکت همین کانال بپرسید ( :
🔥1
خب این هم چند تا تم خوب برای تیماکستون اگه از تم ساده سبزش راضی نیستید
اینم لینک گیتهابش
https://github.com/wfxr/tmux-power?tab=readme-ov-file
اینم لینک گیتهابش
https://github.com/wfxr/tmux-power?tab=readme-ov-file
❤1
امروز یک مهاجرت سنگین دارم در موردش توضیح میدم حتما بهتون و دلیلش ولی فکر میکنید چه مهاجرتی؟
دایرکت میتونید بنویسید ها 😉
دایرکت میتونید بنویسید ها 😉
کسایی که میخوان Gtk یاد بگیرن میتونن یک سر به گیت هاب خودم بزنن
یک ریپوزیتوری ایجاد کردم و مرحله به مرحله که خودم یادمیگرم شما هم میتونید با من بیاید جلو 😁
GitHub.com/tahairavani/learn-gtk4-with-python
یک ریپوزیتوری ایجاد کردم و مرحله به مرحله که خودم یادمیگرم شما هم میتونید با من بیاید جلو 😁
GitHub.com/tahairavani/learn-gtk4-with-python
👎2🔥2
خب اصل اول کلین کدر پرفیشنالیسم هست
من یک حرفه ای هستم 😎
همیشه برای خودت برای مشتریات برای همکارانت برای دوستانت و .... خودتو یک حرفه ای نشون بده آدم ها حاضرند برای یک آدم حرفه ای پول حرفه ای بدن
یک آدم حرفه ای کارش ارزشمنده
البته برای حرفه ای بودن باید کار حرفه ای هم انجام بدید وگرنه اصلا جواب نمیده این تکنیک 😉
من یک حرفه ای هستم 😎
همیشه برای خودت برای مشتریات برای همکارانت برای دوستانت و .... خودتو یک حرفه ای نشون بده آدم ها حاضرند برای یک آدم حرفه ای پول حرفه ای بدن
یک آدم حرفه ای کارش ارزشمنده
البته برای حرفه ای بودن باید کار حرفه ای هم انجام بدید وگرنه اصلا جواب نمیده این تکنیک 😉
🔥1
خب بریم هم یک کلین کد ببینیم هم یک کلین کدر چون دیروز پست نداشتم امروز دو تا نکته مهم رو بهتون میگم 😉
❤🔥1
کلین کدر اصل دوم 😁
نه گفتن رو یاد بگیرید
اکثر برنامه نویس ها طراح های گرافیک یا ... که من دیدم و باهاشون معاشرت دارم . یا حتی افرادی که کارشون هیچ ارتباطی به دنیای کامپیوتر نداره نمیتونن در مقابل درخواست های کارفرما مشتری و یا مخاطبشون نه بگن و همه چیز رو قبول میکنن که این خیلی تاثیر میزاره تو بد نوشتن کد جلو تر یکم بیشتر توضیح میدم 😉
بریم پست بعدی
نه گفتن رو یاد بگیرید
اکثر برنامه نویس ها طراح های گرافیک یا ... که من دیدم و باهاشون معاشرت دارم . یا حتی افرادی که کارشون هیچ ارتباطی به دنیای کامپیوتر نداره نمیتونن در مقابل درخواست های کارفرما مشتری و یا مخاطبشون نه بگن و همه چیز رو قبول میکنن که این خیلی تاثیر میزاره تو بد نوشتن کد جلو تر یکم بیشتر توضیح میدم 😉
بریم پست بعدی
👍1
چطور گفتن "آره "در مقابل خیلی از درخواست ها میتونه به پروسه انجام یک کار و یا نوشتن یک کد آسیب بزنه .
فرض کنید کارفرما درخواست اینو داره که سریع تر پروژه رو تحویل بدید یا مثلا میخواد برای تسریع تحویل گرفتن پروژه بیاد و خیلی از فرایند ها رو از مسیر توسعه کار حذف کنه
شما اگه همون جا قبول کنید قائدتا خیلی زیاد به پروژه آسیب میزنید
مثلا فرض کنید عملیات ریفکتور کردن پروژه رو حذف کنید . قائدتا کلی باگ هست که حتی ریویو هم نشده و بعدا همون کارفرما سر این مشکلات یقه شما رو میگیره و میگه فیکسش کنید
اما خب این فقط یکی از مشکلاتش هست
مثلا شما یک پروژه یا اضافه کردن یک فیچر خاص که یک هفته طول میکشه رو برای یک روز قبول کنید
جوری کد بد خواهید نوشت که خودتون هم بعدا نمیتونید بخونیدش
پس بیاید منطقی باشیم و بگیم نه 😉
فرض کنید کارفرما درخواست اینو داره که سریع تر پروژه رو تحویل بدید یا مثلا میخواد برای تسریع تحویل گرفتن پروژه بیاد و خیلی از فرایند ها رو از مسیر توسعه کار حذف کنه
شما اگه همون جا قبول کنید قائدتا خیلی زیاد به پروژه آسیب میزنید
مثلا فرض کنید عملیات ریفکتور کردن پروژه رو حذف کنید . قائدتا کلی باگ هست که حتی ریویو هم نشده و بعدا همون کارفرما سر این مشکلات یقه شما رو میگیره و میگه فیکسش کنید
اما خب این فقط یکی از مشکلاتش هست
مثلا شما یک پروژه یا اضافه کردن یک فیچر خاص که یک هفته طول میکشه رو برای یک روز قبول کنید
جوری کد بد خواهید نوشت که خودتون هم بعدا نمیتونید بخونیدش
پس بیاید منطقی باشیم و بگیم نه 😉
🤝1
حالا کجا باید نه بگیم ؟ بریم با هم ببینیم 😉
وقتی زمان کافی ندارید برای انجام یک کار بگید نه چون شما قطعا نمیتونید اون رو به خوبی انجام بدید 😞
وقتی راه حل های سریعی به کار باید ببرید که سریع تر کار رو انجام بدید بر اساس فوریت زود تر تحویل بدید بگید نه
به جای حذف کردن تست نویسی برنامه هم با قاطعیت بگید نه 😁
ریفکتورینگ رو هم که قبلاً گفتم بگید نه 🔥
حتی من بعضی وقت ها هم این یادگرفتن نه گفتن رو بهتون پیشنهاد میدم البته تو پست بعدی 😊
وقتی زمان کافی ندارید برای انجام یک کار بگید نه چون شما قطعا نمیتونید اون رو به خوبی انجام بدید 😞
وقتی راه حل های سریعی به کار باید ببرید که سریع تر کار رو انجام بدید بر اساس فوریت زود تر تحویل بدید بگید نه
به جای حذف کردن تست نویسی برنامه هم با قاطعیت بگید نه 😁
ریفکتورینگ رو هم که قبلاً گفتم بگید نه 🔥
حتی من بعضی وقت ها هم این یادگرفتن نه گفتن رو بهتون پیشنهاد میدم البته تو پست بعدی 😊
👍1
علاوه بر این شما حتما این نه گفتن رو فقط برای مسیر یک پروژه خاص نیاز ندارید
حتی خیلی وقتا باید به پروژه ها کار ها و وظایف بیهوده دیگه نه بگید تا مسیر پروژه های دیگه رو مختل نکنید
مثلا خود من به عنوان یک برنامه نویس گرافیک هم بلدم ولی گهگداری از طرف دوست و آشنا و فامیل یا حتی افراد دیگه که مشتری هستن درخواست طراحی هم دارم
منطقی ترین راه حلش اینه که بگید نه و یا منتقلش کنید به یک تایم دیگه که طرف مقابل هم دلخور نشع
هرگز نباید کاری کنید پروژه هاتون روی هم تلنبار بشه 😉
حتی خیلی وقتا باید به پروژه ها کار ها و وظایف بیهوده دیگه نه بگید تا مسیر پروژه های دیگه رو مختل نکنید
مثلا خود من به عنوان یک برنامه نویس گرافیک هم بلدم ولی گهگداری از طرف دوست و آشنا و فامیل یا حتی افراد دیگه که مشتری هستن درخواست طراحی هم دارم
منطقی ترین راه حلش اینه که بگید نه و یا منتقلش کنید به یک تایم دیگه که طرف مقابل هم دلخور نشع
هرگز نباید کاری کنید پروژه هاتون روی هم تلنبار بشه 😉
👍1
امروز میخوایم در مورد اوپن سورس صحبت کنیم پروژه های متن بازی که همه و همه میتونن توشون مشارکت کنن و با هم پیشرفت کنن. 😉😍
یک بحثمون سمت لینوکسه و یک سمت هم که بخش اصلی ماجرا هست به برنامه نویسی اشاره داره
میدونستید خیلی از برنامه ها سیستم عامل ها و یا بازی هایی که روزمره استفاده میکنید توسط جامعه متن باز نوشته شده ؟
مثلا خود لینوکس که همتون خبر دارید یک آقایی به نام لینوس توروالدز اومد و سیستم عامل خودش رو نوشت و کلی هم باب شد و افتاد سر زبون ها الان یکی از. مشهور ترین برنامه نویس های دنیاست
همین آقای تروالز گیتی که خیلی از شما برنامه نویس ها ازش استفاده میکنید رو نوشته که الان برای هر کسی واجبه گیت بلد باشه چه برای کار تو شرکت چه هر مورد دیگه ای .
یا خیلی از پروژه های دیگه که حتی فکرشو نمیکنید از گیمپ گرفته تا خود ترمینال هاتون
بریم پست بعدی دقیق تر توضیح بدم
یک بحثمون سمت لینوکسه و یک سمت هم که بخش اصلی ماجرا هست به برنامه نویسی اشاره داره
میدونستید خیلی از برنامه ها سیستم عامل ها و یا بازی هایی که روزمره استفاده میکنید توسط جامعه متن باز نوشته شده ؟
مثلا خود لینوکس که همتون خبر دارید یک آقایی به نام لینوس توروالدز اومد و سیستم عامل خودش رو نوشت و کلی هم باب شد و افتاد سر زبون ها الان یکی از. مشهور ترین برنامه نویس های دنیاست
همین آقای تروالز گیتی که خیلی از شما برنامه نویس ها ازش استفاده میکنید رو نوشته که الان برای هر کسی واجبه گیت بلد باشه چه برای کار تو شرکت چه هر مورد دیگه ای .
یا خیلی از پروژه های دیگه که حتی فکرشو نمیکنید از گیمپ گرفته تا خود ترمینال هاتون
بریم پست بعدی دقیق تر توضیح بدم
🔥1