تاریخ انتشار: سه شنبه 1399/10/02 - 20:14
کد خبر: 380152

شش قاعده برنامه‌نویسی، سد راه برنامه‌نویسان حرفه‌ای

شش قاعده برنامه‌نویسی، سد راه برنامه‌نویسان حرفه‌ای

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

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

شش قاعده برنامه‌نویسی سد راه برنامه‌نویسان حرفه‌ای

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

1. کپی‌کردن

اولین عادت اشتباه: کپی‌کردن است. کپی‌برداری یکی از بزرگ‌ترین اشتباهاتی است که شروع آن از مدرسه و دانشگاه است. در محیط‌های کاری قواعد مشخصی در ارتباط با عدم کپی‌برداری وجود ندارد، اما بدون شک برخی از کدها‌ نباید کپی‌برداری شوند. اگر کدهای خاصی را مشاهده می‌کنید که ابتدای آن‌ها نویسنده از کلمه کپی‌رایت استفاده کرده نباید از آن‌ها برای ساخت برنامه‌های تجاری استفاده کنید. بهتر است کمی وقت صرف کنید و کدهای خودتان را بنویسید. برخی از توسعه‌دهندگان کدهای خود را به‌اشتراک می‌گذارند و در ابتدای مستندات پروژه نوع مجوز (BSD، MIT) را مشخص می‌کنند که بیان‌گر نوع استفاده از کدها است. در این حالت می‌توانید هزینه دسترسی به کدها را پرداخت کنید و از آن‌ها در برنامه تجاری استفاده کنید، زیرا گاهی اوقات نوشتن کدهای پیچیده زمان‌بر است و نباید به سراغ اختراع دوباره چرخ بروید. کپی‌برداری قانونی اجازه می‌دهد معایب کد نوشته شده را برطرف کنید و از کدهای توسعه‌دهندگان دیگر در پروژه خود استفاده کنید. کدهای به‌اشتراک‌گذاشته شده در سایت‌هایی همچون گیت‌هاب ماحصل تفکر یک توسعه‌دهنده یا گروهی از توسعه‌دهندگان است که راه‌حلی برای یک مشکل  ابداع کرده‌اند. نگاه ریزبینانه به این کدها کمک می‌کنند برای حل مشکلات مشابه ایده‌ای پیدا کنید. کپی‌ کردن کدها با چشمان کاملا بسته یک ایراد بزرگ دارد، ممکن است در کدهای کپی‌ شده اشکالاتی مستتر باشد یا فرضیات مختلفی در ارتباط با نقش داده‌ها در کدها درج شده باشد که شما منطق آن‌ها را به درستی درک نکنید و کدها را تمام و کامل در برنامه خود وارد کنید. در چنین شرایطی زمانی که برنامه با مشکلی روبرو شود و مدیر شرکت یا تیم درباره قطعه کد سوالی بپرسد و خواستار تغییر کدها شود با مشکلی جدی روبرو می‌شوید.

2. عدم وجود کدهای تابع‌گرا

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

3. به‌کارگیری فاصله‌گذاری استاندارد

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

4. استفاده از دستور goto

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

5. تعریف نوع‌های داده‌ای

پنجمین اشتباه بزرگ تعریف نوع‌های داده‌ای است. افرادی که عاشق زبان‌های typed هستند به جای تعریف صریح یک نوع داده‌ای متغیری در برنامه تعریف می‌کنند و فرآیند تشخیص نوع داده‌ای را به کامپایلرها محول می‌کنند. در گذشته این‌کار باعث می‌شد تا برنامه‌ها خطاهای عجیب و غریبی را نشان دهند، اما در عصر جدید که کامپایلرها به اندازه کافی هوشمند شده‌اند و با مشاهده کدها، نوع آن‌ها را استنباط می‌کنند، به‌کارگیری این استراتژی ایرادی ندارد، زیرا اجازه می‌دهد با کنار گذاشتن ساده‌ترین اعلان‌ها، چند بیت را ذخیره کنید. در بیشتر موارد توسعه‌دهندگان با مشاهده حلقه‌های for و متغیر i در برنامه شما قادر به تشخیص نوع‌های داده‌ای هستند.

6. عدم نوشتن ساختارهای داده‌ای شخصی

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

نظرات
حداکثر تعداد کاراکتر نظر 200 ميياشد
نظراتی که حاوی توهین یا افترا به اشخاص، قومیت‌ها، عقاید دیگران باشد و یا با قوانین جمهوری اسلامی ایران و آموزه‌های دینی مغایرت داشته باشد منتشر نخواهد شد - لطفاً نظرات خود را با حروف فارسی تایپ کنید
معرفی کسب و کارها
مشهدالرضا در آستانه تشییع پیکر رهبر شهید انقلاب +عکس
عشق به امام شهید مرز نمی‌شناسد/ تصویر ماندگار در بین‌الحرمین عراق +عکس
واکنش عزیزی به حمله آمریکا/ نظم ایرانی را در تنگه هرمز به رسمیت بشناسید
امکان برگزاری آزمون مجدد برای دانشجویان دانشگاه آزاد فراهم شد
ولایتی: به ماجراجویی‌ها پاسخ فوری داده می‌شود
شهادت سروان «علی معینی» در حمله جنایتکارانه آمریکا به بوشهر
مراسم بزرگداشت قائد شهید از سوی مقام معظم رهبری در قم برگزار می‌شود
تصویری از فرزند ارشد قائد شهید امت در کنار فرزندان آیت‌الله سیستانی
شهادت ۸ رزمنده ارتش در حمله آمریکا به جنوب کشور
ضرغامی: به زبان دیپلماسی اعلام کنید قاتل رهبر شهید در دسترس بود
انگلیس: باید آتش‌بس بین ایران و آمریکا برقرار شود
درگیری سپاه با گروهک‌های تروریستی در سردشت/ شهادت یک پاسدار
ایران حمله آمریکا و اسرائیل به مراکز فضایی خود را به سازمان ملل کشاند
غریب‌آبادی: با ترامپ قاتل باید با زبان خودش صحبت کرد
واکنش عراقچی به سخنان موهن رئیس تروریست آمریکا
پیام احساسی قلعه‌نویی پیرامون تیم ملی و جام جهانی
دیدار علما و بزرگان نجف اشرف با فرزند ارشد رهبر شهید انقلاب
بقائی: یادداشت تفاهم با آمریکا از ابتدا بر پایه اعتماد نبود
رایزنی‌ عراقچی با همتای قطری درباره وقایع اخیر در تنگه هرمز
فراتر از مرزها؛ آنجا که عشق، ژئوپلیتیک را شکست می‌دهد
شهادت دو صیاد هرمزگانی در پی حملات تروریستی آمریکا
امکان برگزاری آزمون مجدد برای دانشجویان دانشگاه آزاد فراهم شد
پنجمین نشست پایش برنامه پزشکی خانواده برگزار شد
پیشرفت پزشکی نوین در گرو سرمایه‌گذاری در علوم پایه است
آمادگی کامل زیرساخت‌های ارتباطی مشهد برای تشییع و تدفین رهبر شهید
همراه داشتن موبایل در امتحانات دانشگاه آزاد بلامانع شد
آزمون کارشناسی ارشد ۱۴۰۵ در روزهای ۲۵ و ۲۶ تیرماه برگزار می‌شود/ اعلام زمان دریافت کارت ورود به جلسه داوطلبان
با اصل الگوی جدید تغذیه مخالفیم/این طرح ریسک تورم را به دانشجویان منتقل می‌کند
بزرگترین درس رهبر شهید برای کارآفرینان، حل مسئله و تبدیل معضل به فرصت بود
کاهش پذیرش دکتری در برترین دانشگاه‌های آمریکا
عبور از موانع فناوری‌های نرم و تقویت محتوای بومی؛ مصادیق امروز جهاد علمی
آغاز توزیع کارت کنکور ارشد از ۲۲ تیر؛ برگزاری آزمون در ۲۵ و ۲۶ تیر
جزئیات برگزاری آزمون شفاهی فلوشیپ اعلام شد/ رقابت ۱۳۱۸ داوطلب برای پذیرش ۶۸۳ نفر
راه‌اندازی دکتری «ارگونومی» در دانشگاه علوم پزشکی ایران
مهلت ثبت نام ترم تابستان دانشگاه شریف تمدید شد
خونخواهی رهبر شهید تا تحقق کامل آرمان‌های انقلاب ادامه دارد
پیگیری وزیر علوم درباره روند اسکان و خدمات‌رسانی به زائران مراسم تشییع رهبر شهید در قم
پارادوکس علوم پایه در ایران؛ صعود در مرزهای علم، نصف شدن سهم دانشجویان در سه دهه
علوم انسانی از نگاه رهبر شهید؛ از تولید نظریه بومی تا حل مسائل جامعه
مجوز برگزاری ترم تابستانی "مجازی" ابلاغ شد
تدوین آیین‌نامه حمایت از طرح‌های فناورانه در دانشگاه علوم پزشکی ایران
حماسه وداع و تشییع هشداری راهبردی به استکبار جهانی
نظرسنجی
به نظر شما توافق با آمریکا به پایان مخاصمات می‌انجامد یا دوباره شاهد یک درگیری تمام عیار خواهیم بود؟


مشاهده نتایج
go to top