استراتژی‌های کاربردی، اثربخش و تضمینی برای تبدیل شدن به یک برنامه‌نویس بهتر!

همۀ ما دوست داریم در کاری که انجام می‌دهیم به خوبی رشد کنیم و کسانی‌ هم که در حوزهٔ طراحی و توسعهٔ نرم‌افزار -از طراحی وبسایت گرفته تا اپ موبایل و غیره- فعالیت می‌کنند از این قاعده مستثنی نیستند اما نکته‌ای که به خوبی باید به آن توجه کرد این است که برای پیشرفت در هر حرفه‌ای، نیاز داریم تا به اصطلاح Best Practicesهای همان حرفه‌ را فرا گرفته و راهی را دنبال کنیم که افراد فعال و در عین موفق آن حوزه پیموده‌اند. در همین راستا، در این مقاله قصد داریم تا یکسری استراتژی‌های کاربری را معرفی کنیم تا بتوانید با دنبال کردن آن‌ها، مهارت‌­های خود را افزایش داده و به برنامه‌نویس یا توسعه‌دهندهٔ به مراتب بهتری مبدل شوید. در ادامه با سکان آکادمی همراه باشید.

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

می‌خواهید کار با CSS را بهتر یاد بگیرید؟ پس تمرکز خود را روی همان بگذارید؛ سعی کنید فقط با استفاده از استایل، طرح‌های مختلفی را در یک فایل HTML ایجاد کنید. برای تمرین بیشتر، می‌توانید یک لیستی از طرح‌های دلخواه خود را تهیه کرده و روی کار با آن‌ها تمرکز کنید. مثلا اگر کار با CSS2 برای شما راحت است اما می‌خواهید قابلیت‌های CSS3 را بهتر بشناسید، می‌توانید ویژگی‌های CSS3 را مطالعه کرده و یکی‌یکی روی آن‌ها کار کنید. با هر کدام از آن‌ها کار کنید و ببینید چه محدودیت‌ها و قابلیت‌هایی در مرورگرهای مختلف دارند (می‌توانید از همین روش برای یادگیری زبان‌های برنامه‌نویسی مانند JavaScript و PHP هم استفاده کنید، اما کار کردن با همۀ فانکشن‌های آن‌ها ممکن است وقت‌گیر و خسته‌کننده باشد.) 

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

به طور کلی، آموزش‌های مختلف مانند CSS و HTML یا هر زبان دیگر را هم‌زمان انجام ندهید تا تمرکز خود را از دست ندهید؛‌ به عبارت دیگر،‌یکی را انتخاب کنید و ادامه دهید تا ملکهٔ ذهنتان شود، سپس سراغ بعدی بروید.

2. روش و منطق کدنویسی خود را به صورت کامنت بنویسید
در کدنویسی، اصول و قواعد زیادی هست که به آن پایبند هستیم؛ یکی از این اصول، این است که 95 درصد کدنویسی را منطق تشکیل می‌دهد. یک اصل دیگر این است که منطق همیشه ثابت است، چه در زبان‌های زندهٔ دنیا و چه در زبان‌های برنامه‌نویسی! یعنی اگر چیزی را بتوان به زبان ماشین نوشت، پس می‌شود همان مفهوم را به زبان محاوره مثل انگلیسی یا فارسی نوشت.

مثلا فرض کنید می‌خواهیم یک فانکشن بنویسیم که بسته به ساعت، یک چیزی را قفل یا باز کند (دلیلش را نپرسید!) به جای این‌که مستقیم برویم سراغ نوشتن سورس کد فانکشن مد نظر، می‌توانیم یک گام به عقب رفته و منطق آن فانکشن را به زبان ساده در قالب کامنت بنویسیم؛ به طور مثال:

/*
* Function: Lock On Time
* This function will accept two time values, indicating 
* the range through which it should return an unlocked status.
*/
// Create a new data object
// Using the data object, get the current time
    
// IF the current time falls within the range passed to the function
// Return false; meaning that we are currently unlocked
// ELSE
// Return true – meaning that we are currently locked.

حال، یک ساختار منطقی کامل برای فانکشن مد ظنر خود داریم که تقریبا شبیه به یک نقشۀ اولیه برای ساختن مثلا یک خانه است؛ از اینجای کار به بعد، می‌توانیم با استفاده از راهنمایی کامنت‌ها، کدنویسی را شروع کنیم.

البته این یک مثال خیلی ساده بود و این در حالی است که همیشه از این ترفند برای ساختن فانکشن‌های بسیار پیچیده‌تر استفاده می‌کنیم. با این روش، می‌توانیم تمام اجزای منطق را در نظر بگیریم و اصلاحات لازم را قبل از نوشتن کد انجام دهیم. تجربه نشان داده که این روش، عادت بسیار خوبی برای جلوگیری از تولید باگ است (برای آشنایی بیشتر با اصطلاح Bug، به مقالهٔ آشنايى با دريابان گريس مارى هوپر، کسی که برای اولین بار اصطلاح Bug را باب کرد! مراجعه نمایید.)

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

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

علاوه بر این، شدیدا توصیه می‌کنیم در کنار این آزمایش‌ها و آزمون و خطاها، به منابع معتبری که در ارتباط با قوانین و راهکارهای بهینهٔ استفاده از زبان‌های مختلف نوشته شده‌اند نیز مراجعه کرده تا از نهادینه شدن عادت‌های بد کدنویسی جلوگیری کنید (این روش برای زبان‌هایی مانند JavaScript یا PHP مناسبت‌تر است، که از نظر وسعت و منطق پیچیده‌تر از HTML و CSS هستند.)

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

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

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

به طور مثال، برای یادگیری CSS شاید بتوان تکه‌تکه و آهسته از وبلاگ‌های مختلف اطلاعات جمع‌آوری کرده و یاد بگیریم تا یک تصویر کلی و جامع از CSS داشته باشیم اما این‌کار زمان زیادی می‌برد و به همین دلیل، باید به دنبال یک راه موثرتر بود و این راه موثرتر چیزی نیست جز انتخاب یک کتاب مرجع در زمینهٔ CSS. به طور کلی، بهترین راه برای یاد گرفتن یک تکنولوژی جدید از صفر، خواندن یک کتاب خوب است!

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

توجه داشته باشیم که صرفا خواندن کتاب هرگز کمکی به ما در درک یک موضوع نمی‌کند بلکه باید آموخته‌های خود را به صورت عملی نیز تست کنیم؛ خواه تصمیم به یادگیری زبان‌هایی همچون HTML یا CSS گرفته باشیم و خواه قصد آموختن زبان‌هایی همچون JS یا PHP را داشته باشیم، تست کردن کمک زیادی به ما در درک موضوع خواهد کرد. مثلا با خواندن یک مقاله وبلاگی یا فصلی از یک کتاب، به خوبی می‌توان متوجه تفاوت‌های کلیدواژگانی همچون public، private و protected شد اما تا در عمل آن‌ها را تست نکنیم، ماهیت واقعی آن‌ها را به خوبی درک نخواهیم کرد.

حرف آخر
این بود 5 عادت مختلف برای تقویت قدرت کدنویسی؛ گرچه ممکن است همۀ موارد مورد بحث برای همهٔ برنامه‌نویسان، طراحان و توسعه‌دهندگان مناسب نباشند، اما امیدواریم حداقل یکی از این موارد به حرفه‌ای‌تر شدن شما کمک کند. به خاطر داشته باشید این فضایی که به آن وب می‌گویند، همیشه در حال رشد و تکامل است. تبدیل شدن به یک برنامه‌نویس خوب، مستلزم یک عمر یادگیری و رشد است!

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

5 Good Habits That Will Make You a Better Coder

0


محسن رضایی

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






از طریق این فرم، می توانید بدون ثبت نام نظر دهید و یا اگر قبلا ثبت نام کرده اید، با ورود ناحیه ی کاربری می توانید علاوه بر ثبت نظر، به مدیریت نظرات خود نیز بپردازید.
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)