کاش قبل از شروع برنامه‌نویسی این موارد را می‌دانستم!

کاش قبل از شروع برنامه‌نویسی این موارد را می‌دانستم!

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

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

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

آشنایی با رویکرد Inductive (از جزء به کل) در یادگیری برنامه‌نویسی
آشنایی با رویکرد Deductive (از کل به جزء) در یادگیری برنامه‌نویسی

در همین راستا، می‌توان گفت که جاوااسکریپت را یاد بگیرید نَه جی‌کوئری را! در اینجا نیاز است تا به جاوااسکریپت توجه ویژه‌ای شود چرا که یکی از محبوب‌ترین و پرکاربردترین زبان‌های دنیای برنامه‌نویسی است و هر دولوپری تنها با کمک یک مرورگر می‌تواند کدهای نوشته شده با این زبان را اجرا نماید.

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

مطالعهٔ بدون تمرین
برخی از دولوپرهای مبتدی به مطالعهٔ پروژه‌ها، آموزش‌ها و حتی کتاب‌های حجیم برنامه‌نویسی می‌پردازند بدون آنکه قطعه کدی در آن رابطه بنویسند! اما بعید است که اگر تنها به مطالعه اکتفا کنید، در نهایت بتوانید مقداری از «خوانده‌هایتان» را به «تجربیات‌تان» بیفزایید. برای نمونه، اگر می‌خواهید Ruby on Rails را فرا بگیرید، بهتر است که پروژهٔ کوچکی را شروع کرده و در حین یادگیری و مطالعهٔ مباحث RoR، آن دستورات را بر روی پروژهٔ خود اِعمال کنید. مطمئن باشید روشی سریع‌تر و بهتر از این برای یادگیری وجود ندارد.

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

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

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

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

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



آتنا ستوده