چه کارهایی را نباید هنگام یادگیری کدنویسی انجام دهیم؟

چه کارهایی را نباید هنگام یادگیری کدنویسی انجام دهیم؟

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

 

1. سرچ های بی پایان در تکنولوژی بدون صرف زمان روی نوشتن کد

شروع کار بسیار مهم است. اگر یک زبان برنامه نویسی، framework وب یا پایگاه داده ی اشتباه انتخاب کنید چه می شود؟ کارشناسان اغلب در این مرحله با یکدیگر اختلاف نظر دارند بنابراین در تحقیق در این مورد با نظرات مختلفی روبرو خواهید شد.

یکی از خوانندگان اخیرا درباره ی یکی از پست های اخیر من درباره ی این ایده کامنتی گذاشته است:

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

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

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

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

زمانی که شما یک زبان را یاد می گیرید شروع زبان دوم بسیار آسان تر است بنابراین اجازه ندهید که یک تحلیل غلط شما را از شروع کار بازدارد.

2. در یادگیری کدزنی مانند مطالعه برای یک آزمون رفتار کردن

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

درعوض همیشه قادر خواهید بود که با تکیه بر منابع راه حل ها را بیابید. استفاده از Google یا کد هایی که قبلا نوشته اید، برای یافتن پاسخ تقلب نیست.

با کد یادگیری اینکه از کجا پاسخ را بیابید مهم تر از حفظ کردن پاسخ است.

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

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

بسیاری از مبتدیان تغییرات زیادی را در کد خودشان به وجود می آورند و انتظار دارند بطور معجزه آسایی کد آن ها به درستی کار کند. مشکل این دیدگاه این است که مسائل به صورت پشته ها روی یک دیگر قرار می گیرند و پیدا کردن اینکه چه چیزی مشکل ایجاد کرده است دشوار می شود.

حل یک اپلیکیشن با یک مشکل کوچک راحت تر از اصلاح یک اپلیکیشن با 10 مشکل وابسته به هم است.

بنابراین اگر می خواهید یک توسعه دهنده باشید، شکاک باشید.

4. یادبگیرید به صورت ایزوله (isolation) کد بزنید

بهترین برنامه نویسان شامل اجتماع خود هستند. اکثر شهر ها جلسات متعددی با افراد، برای برنامه نویسی دارند و اجتماعات آنلاین بی نظیری مانندReddit و StackOverflow وجود دارد.

مبتدیان معمولا در پیوستن به رویداد ها و اجتماعات آنلاین نگران هستند. دغل و کلاهبرداری حقیقی است اما اگر شما یک مبتدی هستید بدانید که دیگر برنامه نویسان می خواهند شما را به عنوان یک توسعه دهنده بالا بکشند. این دیدگاهی است که اکثر توسعه دهندگان با تجربه دارند و همچنین این دیدگاه در بسیاری از گروه ها مشترک است.

هیچگاه اهمیت برقراری ارتباط یا دیگر توسعه دهندگان را زیر سوال نبرید. قبول کردن کدزنی و شرکت در پروژه ها یکی از بهترین راه ها برای بهبود و ایجاد اعتماد به نفس است.

5. در روند برنامه نویسی بسیار احساسی برخورد کردن

در راهی که می خواهید برنامه نویس بشوید با پیام های خطا مواجه خواهید شد. دچار مشکل شدن طبیعی است اما شما باید این دیدگاه را داشته باشید که اشتباه کردن طبیعی است.

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

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

6. فکر کردن اینکه به 5 مانیتور برای یادگیری کدزنی نیاز دارید

برخلاف چیز هایی که هالیوود ممکن است به شما القا کند شما به تنظیم مانیتور های اضافه برای یادگیری کدزنی نیاز ندارید. حتی به یک کامپیوتر فوق العاده قوی نیز برای نوشتن اکثر برنامه های کامپیوتری نیاز ندارید. من اکثر کد های خود را در یک MacBook Air تقریبا قدیمی می نویسم که برای ساخت اکثر وب اپلیکیشن های مدرن مناسب است.

احتمالا کامپیوتری که هم اکنون دارید به اندازه ی کافی برای استفاده در شروع برنامه نویسی مناسب است. بنابراین با همین کامپیوتری که دارید شروع کنید و همیشه بدانید که می توانید محیط کاری خود را بعدا بهبود دهید. در ابتدای شروع برنامه نویسی شما برنامه های پیچیده نخواهید نوشت. این را فراموش نکنید.

7. از تفاوت بین حروف بزرگ و کوچک چشم پوشی نکنید

در برنامه نویسی مسائل جزئی نیز مهم هستند. حتی جزئیات کوچک نظیر تفاوت بین حروف بزرگ و کوچک. توجه زیادی به مواردی از قبیل موارد زیر داشته باشید:

مفرد و جمع متفاوت هستند.

عدد 0 با حرف O متفاوت است.

Dash با underscore متفاوت است.

مهم است که به تفاوت های ظریف بین سمبل های مشابه توجه کنید.

8.درخواست کمک با راه های اشتباه

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

4 مورد است که اگر انجام دهید می توانید اطمینان حاصل کنید که به درستی درخواست کمک کرده اید:

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

توضیح دهید که دقیقا چه چیزی انتظار دارید اتفاق بیفتد.

توضیح دهید که دقیقا چه اتفاقی درحال رخ دادن است.

توضیح دهید که چرا فکر می کنید باید برنامه ی شما به صورت دیگری اجرا شود.

بار ها اتفاق افتاده است که شروع به ارسال یک پست در StackOverflow کرده ام و درحالی که این 4 قدم را شرح می دادم متوجه راه حل شده ام. این راه حل به شما کمک می کند به مشکلات به روش جامع تری فکر کنید.

این کار به عنوان "rubber ducking" شناخته می شود و تکنیکی است که برنامه نویسان کامپیوتر استفاده می کند یعنی از یک اردک اسباب بازی روی میز کارشان سوال خود را می پرسند تا متوجه مشکل شوند.

9. تصور اینکه برای اینکه یک برنامه نویس خوب باشید باید یک نابغه ی ریاضی باشید

داشتن درکی از جبر دوره ی دبیرستان می تواند مفید باشد اما مهارت حل مساله که شما در برنامه نویسی نیاز دارید با مهارتی که برای حل مسائل ریاضیات نیاز دارید متفاوت است. اگر شما یک فرد ریاضیاتی نیستید یا در ریاضیات دانشگاه مردود شده اید احتمالا بسیاری از مهارت های ریاضیاتی مورد نیاز را دارید (واگر این مهارت ها را ندارید می توانید کاملا سریع آن ها را یادبگیرید)

10. اجتناب از عوض کردن کد های بد

هر برنامه نویس بزرگی کد های بد بسیاری نوشته اند. بنابراین اگر شما تازه شروع به یادگیری کرده اید نیاز دارید که برای رسیدن به یک وضعیت بهتر، به راحتی بتوانید کد های بد خودتان را عوض کنید. شما این کار را با یادگیری راه های موثر و متفاوت برای حل مسائل، خواهید آموخت.

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

زمان شروع اشتباه کردن کاملا طبیعی است. فقط این موضوع را مدنظر داشته باشید که چگونه می توانید کد خود را بهبود دهید.

11. تنها درنظر گرفتن زمان تایپ فیزیکی

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

یک روز معمولی برای یک برنامه نویس100% تایپ های بی پایان با یک صفحه کلید، کدزنی و حل مسائل نیست. برنامه نویسان زمان زیادی را برای تحقیقات درباره ی موضوعات فنی، تست موارد، آزمایش با اپلیکیشن و همچنین خواندن فایل ها صرف می کنند.

12. یادگرفتن موردی قبل از رفتن به مورد بعدی

 کامپیوتر ها از سطوح متفاوتی ساخته شده است، بنابراین فهم 100% هر سطح غیر ممکن است.

برای مثال اگر درحال یادگیری ruby هستید احتمالا می خواهید نحوه ی تعریف متد ها را یادبگیرید اما اگر بخواهید بدانید که چطور اینگونه کار می کند باید در source code عمیق شوید که با C که یک زبان برنامه نویسی متفاوت است، نوشته شده است. در این مثال این به این معنی است که برای فهم کامل ruby نیاز به فهم C هم دارید اما در حقیقت این کار نیاز نیست.

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

13.انتظار اینکه زمان کافی وجود خواهد داشت تا همه ی جنبه های برنامه نویسی را یاد بگیرید.

Joel Spolsky اصطلاح "duct-tape programmer" را تعریف کرد که تعریفی از اینکه چگونه نرم افزار ساخته می شود را ارائه می دهد.

اکثر مردم فکر می کنند نرم افزار مانند ساخت یک موشک است که باید ماهرانه طراحی،ساخته و نهایتا پرتاب شود. درحقیقت ساخت نرم افزار بیشتر شبیه تعمیر یک موتور است که درحال پایین رفتن از یک تپه می باشد با استفاده از تنها کمی چسب و WD40 است.

اجازه ندهید که انتظارات غیرحقیقی از اینکه جهان حقیقی چگونه کار می کند بر قضاوت شما تاثیر بگذارد. گاهی ممکن است احساس کنید هیچ ایده ای درباره ی کاری که درحال انجام آن هستید ندارید که این موضوع هیچ اشکالی ندارد.

14.تسلیم شدن قبل از اینکه تغییرات مشخص شوند

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

اگر از این 14 خطا های رایج اجتناب نکنید به شکلی عالی در روند برنامه نویسی خود پیش خواهید رفت بنابراین منتظر چه هستید؟ هیچ زمانی بهتراز حالا برای شروع نوشتن اولین خط کدتان نیست.

  

برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

شوالیه تاریکی ارسال شده در یک شنبه ۲۱ مرداد ۱۳۹۷

ممنون از مقاله تون ولی با بند 2 آن مخالفم برای اینکه در مصاحبه ها چنان مسائلی با جزئیات پرسیده میشه که بعید میدونم حتی خود سوال کننده هم جواب رو بدونه پس بنابراین به نظرم یادگیری کوچکترین جزئیات هم حتما لازم است