نکته های خواندنی - علی ایرانی 📖
92 subscribers
33 photos
2 videos
1 file
150 links
📖 نکته های خواندنی از نگاه علی ایرانی

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

🆔 @airani
ℹ️ https://irani.im
Download Telegram
قانون DRY

قانون DRY مخفف واژگان Don`t Repeat Yourself به معنی «هرگز کار تکراری نکنید!» است. اگر در کدنویسی مواقعی برای ما پیش می‌آید که قطعه کدی را از جایی در سورس کد کپی کرده سپس در جای دیگر دقیقاً همان قطعه کد را پیست می کنیم، بر اساس قانون DRY این کار کاملاً اشتباه است.

در چنین مواقعی ما به سادگی می‌توانیم کدهای این چنین را در قالب متدهای مختلفی ایجاد کرده و هر کجا که به آن کد نیاز داشتیم، متد مد نظر را Call یا «فراخوانی» کنیم. علاوه بر این، اگر در آینده بخواهیم در قطعه کد خاصی تغییری ایجاد کنیم، صرفاً نیاز خواهیم داشت تا این تغییر را در یک جا اعمال کرده که در نتیجه تغییر مد نظر ما در هر کجایی که آن متد را فراخوانی کرده باشیم اعمال خواهد شد.
«قانون YAGNI»

قانون YAGNI که مخفف واژگان You Ain`t Gonna Need It به معنی «بعید به نظر می رسه که در آینده بهش نیاز داشته باشی!» است. برای برنامه نویسان -به‌ خصوص برای برنامه نویسان مبتدی- بسیار پیش می‌آید که دوست دارند برنامه‌هایی که می‌نویسند کامل و جامع باشند و جالب است بدانیم که در برخی مواقع برنامه نویسان دچار وسواس فکری می‌شوند به این شکل که می‌خواهند در برنامه ی مد نظرشان تمامی ایده‌هایی که دارند اعمال شوند.

راحت بگوییم که این سیاست در توسعه ی نرم‌افزار کاری بس اشتباه است! اگر شما با خود فکر می‌کنید که مثلاً فلان قابلیت در آینده ممکن است به کار آید، می بایست دست نگه دارید. صرفاً روی قابلیت‌های کلیدی نرم‌افزار تمرکز کنید و در صورتی که در آینده نیاز به قابلیت جدیدی داشتید، در زمان مناسب آن قابلیت را خواهید افزود.
 استک‌اورفلو با ارائه ی بخش Documentation، کار را برای برنامه نویس ها ساده تر کرد

استک‌اورفلو در نظر دارد Documentation را به عنوان ریپازیتوری بزرگی که در بردارنده ی مستندات استاندارد و حرفه ای است توسعه دهد. بنابراین، Documentation می خواهد به جایگزینی برای منابع برنامه نویسی فعلی که از نظر برنامه نویسان، اغلب مشکل دار و مبهم است، تبدیل شود. مدیران استک اورفلو از این سرویس به عنوان «حلال مسایل واقعی توسعه دهندگان» نام برده اند.

#خبر | ادامه متن ...
«متدهای کوچک تر»

سورس کدی که نوشته‌ایم به درستی کار می‌کند اما یک جای کار می لنگد که گویی همه چیز به درستی در جای خودش قرار نگرفته است. به طور مثال، متدهای طولانی را می‌توان در نظر گرفت. گفته می‌شود یک متد خوب متدی است که از آغاز تا پایان آن بدون اسکرول کردن سورس کد در صفحه نمایش قابل روئیت باشد. شاید چنین چیزی کمی اغراق آمیز باشد و نتوان متدهایی که کارهای خاصی انجام می‌دهند را به این کوتاهی نوشت اما در اینجا منظور اصلی این است که تا حد ممکن می بایست از نوشتن متدهای طولانی خودداری کرده و متدهای طولانی را به چندین متد کوچک تقسیم‌ بندی کنیم که در این صورت خوانایی سورس کد از یک سو و همچنین دیباگ کردن برنامه در صورت نیاز از سوی دیگر به مراتب راحت‌تر صورت خواهد گرفت.
«نام گذاری های خیلی کوتاه یا خیلی بلند»

تحت هیچ عنوان متغیری را تحت عنوان مثلاً i نامگذاری نکنید چرا که در مرور سورس کد در آینده توسط خودمان و یا سایر توسعه دهندگان دچار سردرگمی خواهیم شد. نام های بسیار طولانی نیز مشکل زا هستند. به طور مثال نامی همچون noOfStudentsInEachClassOfUniversity به معنی «تعداد دانشجویان در هر کلاس دانشگاه» را می‌توان خیلی ساده‌تر و به صورت studentsNo به معنی «تعداد دانشجویان» نوشت.
یک ابزار برای تبدیل CSS شما به CSS بهینه تر است و Module هایی برای راحت تر کردن کد نویسی CSS به ما میدهند. برای مثال: کد شما را فشرده میکند، پیشوند های مروگر را اضافه میکنند قابلیت هایی مثل متغیر ها و… را به شما میدهد قابلیت هایی که در آینده به CSS اضافه خواهند شد را اکنون در اختیار شما قرار میدهد و ده ها قابلیت دیگر که بررسی میکنیم.

http://goo.gl/dkeDFH
«کامنت گذاری»

کامنت ها توضیحاتی هستند که از دید کامپایلرها، مفسرها و همچنین کاربران نرم‌افزار پنهان بوده و صرفاً در معرض دید توسعه دهنده ی نرم‌افزار قرار می‌گیرند تا با ماهیت بخش‌های مختلف نرم‌افزار آشنا شده و بداند که هر بخش چه کاری انجام می دهد.

گفته می‌شود کد خوب کدی است که آنقدر تمیز نوشته شده باشد و همه چیز آن شفاف باشد که نیازی به کامنت نداشته باشد و خود کد گویای عملکردش باشد اما به هر حال امروزه کامنت گذاری در سورس کد به عنوان یک Best Practice در آمد و لاجرم ما هم می بایست از این قانون تبعیت کنیم.

گاهی اوقات برنامه نویسان مبتدی را می‌بینیم که دچار وسواس کامنت نویسی می‌شوند به طوری که تعداد کامنت های ایشان در سورس کد به مراتب بیشتر از کدهای اصلی برنامه است.

اگر کامنت هایی در سورس کد خود بنویسیم که به معنای واقعی کلمه ارزشمند نباشند، وقتی در آینده توسعه دهنده ی دیگری به سورس کد ما نگاه کند، با توجه به این که کامنت ها در برخی جاهای برنامه واقعا غیرضروری و اضافی هستند، این ایماژ برایش ایجاد می شود که گویی تمامی کامنت های نوشته شده به این شکل هستند و این احتمال نیز وجود دارد که دیگر به هیچ وجه به کامنت ها -حتی آن هایی که به خوبی و درستی نوشته شده اند- توجهی نکند!
«کلاس های همه فن حریف»

این کلاس‌ها آنقدر قابلیت و عملکرد برایشان در نظر گرفته شده که در جای جای سورس کد، رد و نشانی از آن‌ها می یابیم که اتخاذ چنین سیاستی نیز اشتباه است. در واقع، هر کلاس در برنامه نویسی شیء گرایی قرار است یک کار خاص را انجام دهد. پس چنین کلاس‌هایی را می بایست به چندین کلاس تخصصی و مجزا از یکدیگر با یکسری متدهای کاربردی برای هر کدام بازنویسی کرده و هر کجا که نیاز بودم، از آن‌ها استفاده نماییم.
«انتخاب یک زبان برنامه نویسی، فرقی نمی‌کند چه زبانی!»

بسیاری از علاقمندان به فراگیری برنامه نویسی واقعاً نمی‌دانند از کجا شروع کنند و حق هم دارند. از آنجا که مهم است افراد مبتدی در ابتدای راه با یک زبان برنامه نویسی دشوار رو به رو نشوند، توصیه می‌شود که برای ورود به دنیای برنامه نویسان شروع آموزش با زبان‌های وب -مثل اچ تی ام ال سپس سی اس اس و در نهایت جاوا اسکرپیت- صورت گیرد. نیاز به توضیح نیست که زبان‌های اچ تی ام ال و سی اس اس راحت ترین زبان‌هایی هستند که می‌توان فرا گرفت. در ادامه هم برای آنکه بتوانید سایت خود را تعاملی تر سازید، می‌توانید با استفاده از یکی از زبان‌های پایتون، پی اچ پی یا روبی این قابلیت را به سایت خود اضافه نمایید.

نکته: توجه داشته باشیم که یادگیری برنامه نویسی شبیه به یادگیری رانندگی است. زمانی که شما شروع به فراگیری رانندگی کردید، خیلی برایتان فرقی نمی‌کرد تا با پراید آموزش ببینید یا جی ال ایکس! پس از آن که یاد گرفتید چگونه کنترل یک خودرو را در دست بگیرید، حال خواهید توانست پشت یک خودروی هامر هم بنشینید. یادگیری برنامه نویسی هم دقیقاً به همین صورت است. پس از آن که شما یک زبان برنامه نویسی را فرا گرفتید، از آن پس یادگیری سایر زبان‌های برنامه نویسی برای شما آسان‌تر خواهد بود.

#مبتدی | منبع: https://goo.gl/gfpf6v
وقتی یه برنامه نویس داره درباره راه حل فکر میکنه و ... :/
«حرف زدن آسونه. کد رو نشونم بده.» لینوس توروالدز
۱۰ نکته برای افرادی که به دنبال شغل برنامه نویسی هستند

در این مقاله با نکاتی که دانشجویان برنامه نویسی می بایست برای موفقیت در این حرفه بلد باشند آشنا خواهیم شد.

http://goo.gl/ihxLKg
مجموعه افسانه های تجربه کاربری

در یکسال گذشته ، مطالبی در سایت جامعه تجربه کاربری ایران درج شد با عنوان ” افسانه های تجربه کاربری “ ، یعنی باورهای غلطی که بعضی طراحان آنها را قبول دارند درحالیکه ، حتی میتوانند این تفکرات ضربه های بزرگی به پروژه بزند و مشکلات بسیاری بوجود آورند.

این مجموعه ، ترجمه ای مطالب از سایت uxmyths.com هست و هم اکنون که آنها تکمیل شده اند، میتوانید تمامی این مطالب را بصورت یک فایل pdf ، بطور منظم و منسجم داشته باشید.

http://uxpublish.ir/uxmyths.pdf
۹ عادت انسان‌های ناموفق

موفقیت، نه یک لحظه‌ی خاص که یک مسیرِ طولانی است که در آن تنها لحظاتی را برای جشن گرفتنِ تحقق هدف‌های‌مان می‌ایستیم و بعد دوباره برای رسیدن به هدف‌های بعدی به راه می‌افتیم. در این مسیر طبیعتا نیازمند ره‌توشه‌ای هستیم که یکی از مهم‌ترین اجزای آن، داشتن عادت‌های درست است. عادت، یعنی کاری که بدون فکر و انگیزه‌ در لحظه و به‌صورت مستمر آن را انجام می‌دهیم. تکرار عادت‌های درست، باعث می‌شوند تا حرکتِ ما به‌سوی هدف‌های‌مان تسریع و تسهیل شود؛ چرا که در واقع رسیدن به هدف‌ها نیازمند به انجام کارهایی هستند که چیزی جز همین عادت‌های درست نیستند! اما این سکه روی دیگری هم دارد. بسیاری از عادت‌های نادرست هم وجود دارند که ما خواسته و ناخواسته گرفتار آن‌ها هستیم و در مسیرمان به‌سوی اهدافِ بزرگ زندگی، مانع ایجاد می‌کنند. بنابراین هر چقدر لازم است که عادت‌های درست را بشناسیم و آن‌ها را تقویت کنیم، به‌همان اندازه لازم است که عادت‌های بد را هم بشناسیم و برای حذف آن‌ها از زندگی‌مان تلاش کنیم...

http://gozareha.com/1395/07/28/unsscfll-pppl-hbts/
Channel name was changed to «⚡️علی ایرانی»
یک ابزار آنلاین مناسب جهت رسم کردن انواع دیاگرام و فلوچارت و ...

💬 ابزارهای مختلفی رو تا به حال تست کردم که این از همه خوش دست تر و کاربردی تر بوده به نظرم بین بقیه. همچنین متن باز هست و میشه روی هاست های شخصی هم نصبش کرد.

https://www.draw.io/