TahaIr.dev – Telegram
TahaIr.dev
163 subscribers
72 photos
1 video
52 links
👋 سلام!
اینجا گوشه‌ایه برای علاقه‌مندان به لینوکس، گنوم، برنامه‌نویسی با Rust و Python و دنیای متن‌باز ❤️
اینجا تجربیاتم رو از پروژه‌ها، ابزارها، کتابخونه‌ها و حتی چالش های شخصی که برام پیش میاد رو با شما به اشتراک میزارم
Download Telegram
به نظر من هیچی نمیتونه مثل یک کدی که بد نوشته شده روی مخ یک برنامه نویس بره

سعی کنید از اول خوب تمیز و حرفه ای کد بنویسید
من امروز کلا در گیر مرتب کردن یک سورس پنج هزار خطه با ده تا فایل هستم که واقعا رو مخه کامنت بد گذاشته شده ریتم کار رو با فارسی نوشتن بهم ریخته همه چی شلوغه و اصلا نگم براتون 😢🤕
👍4
Channel name was changed to «TahaIr.dev»
TahaIr.dev
حالا که از وارپ برگشتیم به نظر من بهترین کار اینه که ببینیم بهترین ترمینال برای استفاده چیه ؟ مخصوصا این که گزینه زیاده شما کدوم رو میپسندید ؟ ترمینال شلوغ یا یک ترمینال سیاه ساده ؟😁 ساده ❤️ جینگولی 🥳
میخواستم پست های مربوط به ترمینال رو ادامه بدم ولی تصمیم گرفتم حالا که دارم روی یک سورس بی کیفیت و بد قلق کار میکنم
سه تا کتاب مفید معرفی کنم
سه تا کتاب خوب برای برنامه نویسایی که دوست دارن کد تمیزی بنویسن ساختار مرتبی داشته باشن و در اصل برنامه نویس تمیزی باشن

دقیقا مفهومی که این سه تا کتاب میخوان برسونن
clean code : برای کد های تمیز
clean coder : برای کد نویس تمیز
clean architecture : برای ساختار تمیز

خوندنشون خیلی بهتون کمک خواهد کرد چون سر فصل هایی داره که شما رو مجاب به خوب نوشتن میکنه

نویسنده هر ستاشون هم عمو باب هست که هم به صورت اینگیلیسی هم فارسی توی بازار و یا به صورت پی دی اف موجود هست ( :
6
TahaIr.dev
سه تا کتاب خوب برای برنامه نویسایی که دوست دارن کد تمیزی بنویسن ساختار مرتبی داشته باشن و در اصل برنامه نویس تمیزی باشن دقیقا مفهومی که این سه تا کتاب میخوان برسونن clean code : برای کد های تمیز clean coder : برای کد نویس تمیز clean architecture : برای…
نسخه های ترجمه شده این سه کتاب تعریفی نداره مخصوصا توی نسخه های pdf
من اینگیلیسشو کم کم دارم میخونم (اول کلین کد) و نکات مهمشو اینجا براتون می‌زارم البته که همش مهمه مهم اینه چیشو یاد بگیرید استفاده کنید 😉
4
اول فکر کن بعدش کد بزن ولی حواست باشه غرق در فکر نشی 😉

یکی از عواملی که باعث میشه کد بد بنویسی اینه که بدون فکر شروع کنی به نوشتنش . اگه فکر نکنی نمیتونی بهینه ترین ساختار که توی کتاب کلین ارکیتکچر بهش اشاره شده رو پیاده کنی و ناگهان کدی رو مینیویسی که خیلی پیچیده ناخوانا و غیر قابل توسعه هست .

یکی از نمونه هاش کد یکی از مشتری هایی بود که دیشب داشتم تصحیح میکردم

کلی حلقه تو در تو و شرط فقط به خاطر کاری که میشد توی یک خط فیصله داد اون رو .

پس اول دو سوم فکر کنید و یک سوم آخر رو کد بنویسید 👌😋
👏5
حتی فکر نکردن باعث میشه یک همچین اشتباهاتی هم پیش بیاد تو کد زدن
اینجا یک تابع نوشته دوستمون که میخواد اعداد فارسی رو به اینگیلیسی تبدیل کن

بگو خب بیا پیام بعدی رو بخون 😅
😁5
حتی یک بار هم استفاده نشده از این تابع توی این پنج هزار خط کد یا حتی ماژول های دیگش

این یک که میبینید خود تابع هست نه جایی که ازش استفاده شده


بگو خب بیا پیام بعدی 😳
😁5
جالبیش اینجاست همون رو بیایم پایین از این منطق استفاده کرده و میخواد که متن کاربر رو تبدیل کنه از فارسی به اینگیلیسی

ولی از تابعی که قبلاً نوشته شده بود استفاده نکرده

این است عواقب فکر نکردن 🤕😞
👏5
TahaIr.dev
جالبیش اینجاست همون رو بیایم پایین از این منطق استفاده کرده و میخواد که متن کاربر رو تبدیل کنه از فارسی به اینگیلیسی ولی از تابعی که قبلاً نوشته شده بود استفاده نکرده این است عواقب فکر نکردن 🤕😞
تازه این جا تو این تصاویر یک نکته دیگه هم هست

اگه دقت کنید دوستمون اومدن از کامنت نویسی فارسی استفاده کردن که من خودم به شخصه بدم میاد ولی ایرادی بهش وارد نیست

اما این که این الگو رو از اواسط فایل به کامنت نویسی اینگیلیسی تغییر دادن کلی هم ما بین فارسی کامنت گذاشتن واقعا روی اعصاب هست

همیشه سعی کنید الگو رو رعایت کنید نمونش میشه این که پایتون نویسا خوب میدونن نمیتونی یک جا چهار تا اسپیس بزنی برای ایندنت یک جا سه تا و به قول زبان سی یک جا هم هشت تا اسپیس 😋
👏5
خب بعد مرتب کردن یک سورس نوبت اینه که بریم و فیچر های درخواستی مشتری رو روش پیاده کنیم

ولی قبلش یکم باید سورس رو از هم باز کنیم

خیلی متراکم و شلوغه . ترجیح من اینه تبدیلش کنم به چند تا فایل که به صورت ماژول به فایل اصلی اتچ بشه
👍4
TahaIr.dev
من خودم اکثرا تابع های کاربردی فایل رو میبرم توی فایل utils و بقیه رو به مدل mvc تقسیم میکنم
ولی در نظر داشته باشید برای هر ربات برنامه و یا وب اپلیکیشنی استفاده از معماری نرم افزار های متنوعی پیشنهاد میشه

یکی از کاربردی ترین هاش mvc هست که با کمی تغییر اون رو تو جنگو میبینید
دوستانی که می‌خوان برنامه نویسی رو یاد بگیرن ولی خب همش از نبود سخت افزار فلان و عجیب ترین کارت گرافیک دنیا ناراضی هستند .

ببینید یکی از بزرگ ترین برنامه نویس های دنیا داره همچنان از چی استفاده میکنه😁
😁4
خالق لینوکس هنوز از کارت گرافیک AMD Radeon RX 580 متعلق به سال ۲۰۱۷ استفاده می‌کنه😁

با این که تجربه استفاده از سری های مک بوک هم داره با پردازنده m1 ولی هنوزم روی تصمیم خودش هست و داره از این پردازنده قدیمی استفاده می‌کنه که الان به خیلی از نوجوون های امروز نشون بدی پس میزنن 😢

آره شاید فکر کنید برنامه نویسی کار سنگینی هست ولی خب دیگه از برنامه نویس لینوکس و گیت پر مشغله تر سراغ دارید ؟

هنوزم نمی‌خواید برنامه نویسی رو شروع کنید ؟
👍41😱1
vim : یک ادیتور تحت ترمینال با کلی شورت کات که سرعتتون رو چند برابر می‌کنه

ولی اینو بدونید که اگه برای اولین بار واردش بشید نمیتونید ازش خارج بشید

از ویژگی های که داره و منم دوسش دارم اینه که میتونید کاری کنید که هیچ وقت نزارع کد بد بنویسید

مثالشو براتون تا ظهر می زارم . ولی در کل نمیخوام این جا آموزش ویم بدم فقط به چشم معرفی بهش نگاه کنید
👍2
یک از فیچر هی ویم که خیلی کمک کنندست تو نوشتن کد تمیز این هست که میتونید تنظیمش کنید وایت اسپیس ها رو براتون هایلایت میکنه

حالا وایت اسپیس چیه ؟
برای زبان هایی مثل پایتون اسپیس نا به جا و الکی اصلا پیشنها نمیشه. برای همین بهش میگن فاصله سفید یا وایت اسپیس

ویم هم میاد و این ها رو براتون هایلایت میکنه تا حذفش کنید

کد خوب رو با ادیتور خوب بنویسیم ( :
👍2
TEST FIRST
اصل اول تست کن یکی از قوانین کتاب clean code 📝

میگه که هر کدی میخوای بنویسی نباید ازش بگذری و خیلی مطمعن بگی کار می‌کنه
به جاش مرحله به مرحله تستش کن

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

پس هر کدی که می‌نویسید اول تستش کنید 😉
👎1
یک اصل دیگه از کلین کد بگیم به نظرم وقتشه
خب بزارید یک بار تیتر وار ببینم کتاب رو 😉
🆒1
البته تا یک موضوع مناسب پیدا کنم خواستم اینو بگم که کتاب کلین کد و بقیه کتاب های این مجموعه

بر محور زبان جاوا توضیح داده شده مخصوصا در قسمت های که میاد و از بلوک های کد برای فهم بیشتر استفاده می‌کنه

ولی بازم میتونید تو هر زبانی از این ترفند ها بهره ببرید

من خودم جاوا کارنکردم

ولی برای یک برنامه نویس همه جا ideهست 😉
👍1