کدنویسی

۱۰ تکنیک کدنویسی درست که هر فرد کدنویسی باید بداند

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

خب بیاید به راه های مختلفی که با آن می توانید صرفنظر از زبان برنامه‌نویسی‌تان کدهای مناسب و تمیزی ارائه دهید آشنا شوید.

۱. کدها را ساده بنویسید

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

۲. کدهای‌تان را درک کنید

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

۳. کامنت ها بهترین دوستان شما هستند

همانطور که جامعه کدنویسان در دنیا روزبه‌روز بیشتر می شوند آنها یکی از پایه‌ترین تکنیک هایی که در ابتدای پیدایش برنامه نویسی بوجود آمده را فراموش کرده اند – قرار دادن کامنت. اضافه کردن کامنت به برنامه یکی از ویژگی های یکسان تمام زبان های برنامه نویسی است. اضافه کردن کامنت به فرایند بروزرسانی کدها، دیباگ کردن و بررسی آنها کمک بسیاری می کند. اگر شما در یک تیم توسعه باشید اضافه کردن کامنت به کدهای‌تان باعث می شود که توسعه دهندگان و دیگر اعضای تیم بتوانند به راحتی هدف کدهای‌تان را درک کنند.

۴. خودت را تکرار نکن! (DRY)

قاعده (خودت را تکرار نکن یا Don’t Repeat Yourself) توسط Any Hunt و Dave Thomas در The Pragmatic Programmer ساخته شد. این قاعده به برنامه نویسان می گوید که بجای تکرار یکسری از کدها از تابع ها، کلاس ها و حالت های مختلف استفاده کنند. این قاعده به برنامه نویسان کمک می کند تا با کمتر استفاده کردن از کدهای تکراری برنامه‌شان را تمیز نگه دارند. بهینه کردن کدها معمولا یکی از نکاتی است که برنامه نویس خوب را از برنامه نویس متوسط جدا می کند.

۵. کدهای‌تان را دندانه دار بنویسید

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

۶. استفاده از نام های مفهومی

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

۷. کشف کنید

معلم خودتان باشید و تا جایی که می توانید چیزهای جدید را کشف کنید. راهنماهای بسیار زیادی در دنیای وب و انجمن های مختلف وجود دارد که توسط کدنویسان مجرب تهیه شده و شما می توانید از آنها استفاده کنید. همیشه به یاد داشته باشید که هیچ راه میانبری وجود ندارد، هرچقدر بیشتر تلاش کنید، کدهای بهتری نیز تولید می کنید.

۸. از مغزتان استفاده کنید

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

۹. آزمایش کنید

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

۱۰. هنرتان را تمرین کنید

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

امیدواریم از این مقاله از اگرت لذت برده باشید.

۴ چالش برای یادگیری کدنویسی

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

۱. سندرم مضر

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

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

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

۲. تلاش کنید تا همه چیز را درک کنید

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

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

در کنار تمام این موارد با انجام آزمایش و خطا می توانید به برخی دانش ها از کدنویسی دست یابید که تقریبا هیچ کس دیگری آن ها را به شما یاد نمی‌دهد. پس بهتر است روی کدها نیز فکر کنید.

۳. زمان را مدیریت کنید

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

۴. ناامیدی

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