TahaIr.dev
سه تا کتاب خوب برای برنامه نویسایی که دوست دارن کد تمیزی بنویسن ساختار مرتبی داشته باشن و در اصل برنامه نویس تمیزی باشن دقیقا مفهومی که این سه تا کتاب میخوان برسونن clean code : برای کد های تمیز clean coder : برای کد نویس تمیز clean architecture : برای…
نسخه های ترجمه شده این سه کتاب تعریفی نداره مخصوصا توی نسخه های pdf
من اینگیلیسشو کم کم دارم میخونم (اول کلین کد) و نکات مهمشو اینجا براتون میزارم البته که همش مهمه مهم اینه چیشو یاد بگیرید استفاده کنید 😉
من اینگیلیسشو کم کم دارم میخونم (اول کلین کد) و نکات مهمشو اینجا براتون میزارم البته که همش مهمه مهم اینه چیشو یاد بگیرید استفاده کنید 😉
❤4
اول فکر کن بعدش کد بزن ولی حواست باشه غرق در فکر نشی 😉
یکی از عواملی که باعث میشه کد بد بنویسی اینه که بدون فکر شروع کنی به نوشتنش . اگه فکر نکنی نمیتونی بهینه ترین ساختار که توی کتاب کلین ارکیتکچر بهش اشاره شده رو پیاده کنی و ناگهان کدی رو مینیویسی که خیلی پیچیده ناخوانا و غیر قابل توسعه هست .
یکی از نمونه هاش کد یکی از مشتری هایی بود که دیشب داشتم تصحیح میکردم
کلی حلقه تو در تو و شرط فقط به خاطر کاری که میشد توی یک خط فیصله داد اون رو .
پس اول دو سوم فکر کنید و یک سوم آخر رو کد بنویسید 👌😋
یکی از عواملی که باعث میشه کد بد بنویسی اینه که بدون فکر شروع کنی به نوشتنش . اگه فکر نکنی نمیتونی بهینه ترین ساختار که توی کتاب کلین ارکیتکچر بهش اشاره شده رو پیاده کنی و ناگهان کدی رو مینیویسی که خیلی پیچیده ناخوانا و غیر قابل توسعه هست .
یکی از نمونه هاش کد یکی از مشتری هایی بود که دیشب داشتم تصحیح میکردم
کلی حلقه تو در تو و شرط فقط به خاطر کاری که میشد توی یک خط فیصله داد اون رو .
پس اول دو سوم فکر کنید و یک سوم آخر رو کد بنویسید 👌😋
👏5
TahaIr.dev
جالبیش اینجاست همون رو بیایم پایین از این منطق استفاده کرده و میخواد که متن کاربر رو تبدیل کنه از فارسی به اینگیلیسی ولی از تابعی که قبلاً نوشته شده بود استفاده نکرده این است عواقب فکر نکردن 🤕😞
تازه این جا تو این تصاویر یک نکته دیگه هم هست
اگه دقت کنید دوستمون اومدن از کامنت نویسی فارسی استفاده کردن که من خودم به شخصه بدم میاد ولی ایرادی بهش وارد نیست
اما این که این الگو رو از اواسط فایل به کامنت نویسی اینگیلیسی تغییر دادن کلی هم ما بین فارسی کامنت گذاشتن واقعا روی اعصاب هست
همیشه سعی کنید الگو رو رعایت کنید نمونش میشه این که پایتون نویسا خوب میدونن نمیتونی یک جا چهار تا اسپیس بزنی برای ایندنت یک جا سه تا و به قول زبان سی یک جا هم هشت تا اسپیس 😋
اگه دقت کنید دوستمون اومدن از کامنت نویسی فارسی استفاده کردن که من خودم به شخصه بدم میاد ولی ایرادی بهش وارد نیست
اما این که این الگو رو از اواسط فایل به کامنت نویسی اینگیلیسی تغییر دادن کلی هم ما بین فارسی کامنت گذاشتن واقعا روی اعصاب هست
همیشه سعی کنید الگو رو رعایت کنید نمونش میشه این که پایتون نویسا خوب میدونن نمیتونی یک جا چهار تا اسپیس بزنی برای ایندنت یک جا سه تا و به قول زبان سی یک جا هم هشت تا اسپیس 😋
👏5
خب بعد مرتب کردن یک سورس نوبت اینه که بریم و فیچر های درخواستی مشتری رو روش پیاده کنیم
ولی قبلش یکم باید سورس رو از هم باز کنیم
خیلی متراکم و شلوغه . ترجیح من اینه تبدیلش کنم به چند تا فایل که به صورت ماژول به فایل اصلی اتچ بشه
ولی قبلش یکم باید سورس رو از هم باز کنیم
خیلی متراکم و شلوغه . ترجیح من اینه تبدیلش کنم به چند تا فایل که به صورت ماژول به فایل اصلی اتچ بشه
👍4
TahaIr.dev
خب بعد مرتب کردن یک سورس نوبت اینه که بریم و فیچر های درخواستی مشتری رو روش پیاده کنیم ولی قبلش یکم باید سورس رو از هم باز کنیم خیلی متراکم و شلوغه . ترجیح من اینه تبدیلش کنم به چند تا فایل که به صورت ماژول به فایل اصلی اتچ بشه
من خودم اکثرا تابع های کاربردی فایل رو میبرم توی فایل utils و بقیه رو به مدل mvc تقسیم میکنم
TahaIr.dev
من خودم اکثرا تابع های کاربردی فایل رو میبرم توی فایل utils و بقیه رو به مدل mvc تقسیم میکنم
ولی در نظر داشته باشید برای هر ربات برنامه و یا وب اپلیکیشنی استفاده از معماری نرم افزار های متنوعی پیشنهاد میشه
یکی از کاربردی ترین هاش mvc هست که با کمی تغییر اون رو تو جنگو میبینید
یکی از کاربردی ترین هاش mvc هست که با کمی تغییر اون رو تو جنگو میبینید
دوستانی که میخوان برنامه نویسی رو یاد بگیرن ولی خب همش از نبود سخت افزار فلان و عجیب ترین کارت گرافیک دنیا ناراضی هستند .
ببینید یکی از بزرگ ترین برنامه نویس های دنیا داره همچنان از چی استفاده میکنه😁
ببینید یکی از بزرگ ترین برنامه نویس های دنیا داره همچنان از چی استفاده میکنه😁
😁4
خالق لینوکس هنوز از کارت گرافیک AMD Radeon RX 580 متعلق به سال ۲۰۱۷ استفاده میکنه😁
با این که تجربه استفاده از سری های مک بوک هم داره با پردازنده m1 ولی هنوزم روی تصمیم خودش هست و داره از این پردازنده قدیمی استفاده میکنه که الان به خیلی از نوجوون های امروز نشون بدی پس میزنن 😢
آره شاید فکر کنید برنامه نویسی کار سنگینی هست ولی خب دیگه از برنامه نویس لینوکس و گیت پر مشغله تر سراغ دارید ؟
هنوزم نمیخواید برنامه نویسی رو شروع کنید ؟
با این که تجربه استفاده از سری های مک بوک هم داره با پردازنده m1 ولی هنوزم روی تصمیم خودش هست و داره از این پردازنده قدیمی استفاده میکنه که الان به خیلی از نوجوون های امروز نشون بدی پس میزنن 😢
آره شاید فکر کنید برنامه نویسی کار سنگینی هست ولی خب دیگه از برنامه نویس لینوکس و گیت پر مشغله تر سراغ دارید ؟
هنوزم نمیخواید برنامه نویسی رو شروع کنید ؟
👍4❤1😱1
vim : یک ادیتور تحت ترمینال با کلی شورت کات که سرعتتون رو چند برابر میکنه
ولی اینو بدونید که اگه برای اولین بار واردش بشید نمیتونید ازش خارج بشید
از ویژگی های که داره و منم دوسش دارم اینه که میتونید کاری کنید که هیچ وقت نزارع کد بد بنویسید
مثالشو براتون تا ظهر می زارم . ولی در کل نمیخوام این جا آموزش ویم بدم فقط به چشم معرفی بهش نگاه کنید
ولی اینو بدونید که اگه برای اولین بار واردش بشید نمیتونید ازش خارج بشید
از ویژگی های که داره و منم دوسش دارم اینه که میتونید کاری کنید که هیچ وقت نزارع کد بد بنویسید
مثالشو براتون تا ظهر می زارم . ولی در کل نمیخوام این جا آموزش ویم بدم فقط به چشم معرفی بهش نگاه کنید
👍2
TahaIr.dev
vim : یک ادیتور تحت ترمینال با کلی شورت کات که سرعتتون رو چند برابر میکنه ولی اینو بدونید که اگه برای اولین بار واردش بشید نمیتونید ازش خارج بشید از ویژگی های که داره و منم دوسش دارم اینه که میتونید کاری کنید که هیچ وقت نزارع کد بد بنویسید مثالشو براتون…
اگر هم میخواید آموزش ویم رو پیدا کنید میتونید
خود آموزش ویم رو سرچ کنید
یا از جادی ببینید
یا این که از بازی هایی مثل ویم ادونچر و ویم توتور استفاده کنید
خود آموزش ویم رو سرچ کنید
یا از جادی ببینید
یا این که از بازی هایی مثل ویم ادونچر و ویم توتور استفاده کنید
👍3
یک از فیچر هی ویم که خیلی کمک کنندست تو نوشتن کد تمیز این هست که میتونید تنظیمش کنید وایت اسپیس ها رو براتون هایلایت میکنه
حالا وایت اسپیس چیه ؟
برای زبان هایی مثل پایتون اسپیس نا به جا و الکی اصلا پیشنها نمیشه. برای همین بهش میگن فاصله سفید یا وایت اسپیس
ویم هم میاد و این ها رو براتون هایلایت میکنه تا حذفش کنید
کد خوب رو با ادیتور خوب بنویسیم ( :
حالا وایت اسپیس چیه ؟
برای زبان هایی مثل پایتون اسپیس نا به جا و الکی اصلا پیشنها نمیشه. برای همین بهش میگن فاصله سفید یا وایت اسپیس
ویم هم میاد و این ها رو براتون هایلایت میکنه تا حذفش کنید
کد خوب رو با ادیتور خوب بنویسیم ( :
👍2
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