مهم نیست یک برنامه نویس تازه کار هستید یا حرفه ای، همه برنامه نویس ها هنگام کار به مشکل بر می خورند و گاهی اوقات همه آن ها واکنش های مشترکی از خود نشان می دهند!
توسعه اپلیکیشن می تواند شغلی پر استرس باشد. هیچ کس عالی نیست و برخوردن به یک کد باگ دار در این شغل چیزی عادی است. بعضی از برنامه نویس ها عصبانی، ، خسته ، ناراحت و یا حتی نا امید می شوند، در حالی که بعضی ها هم خونسردی خود را حفظ می کنند. اما بعضی از واکنش ها در بین همه برنامه نویس ها مشترک است!
در اینجا می خواهیم جملات و ایده هایی که وقتی یک برنامه نویس به مشکل برمی خورد به ذهنش خطور می کند را با شما به اشتراک بگذاریم.
بسیاری از مهندسان نرم افزار و برنامه ها نیز این سختی ها را کشیده اند و قطعا وقتی مشکل حل می شود به آن می خندند:
1- " نمی دانم آن را حذف کنم یا دوباره بنویسم"
بازگشت به کد منبع قدیمی شما را وسوسه می کند تا دوباره داده کاوی بزرگ تری انجام دهید. اما به یاد داشته باشید. اگر چیزی خراب نیست آن را تعمیر نکنید. این مشکلی است که همه برنامه نویس ها با آن رو به رو می شوند.
2- "برای شروع باید گیت هاب را چک کنم"
بیشتر برنامه نویسان گیت هاب را می شناسند و می دانند چه پروژه های منبع باز خوبی توسط آن به صورت روزانه منتشر می شود. برنامه نویس ها در هر زبانی به این شبکه ملحق می شوند تا از پروژه های موجود استفاده کنند، در بحث ها شرکت کنند و یا کدهای خود را اضافه کنند. گیت هاب منبعی عالی برای پلاگین ها و قالب هایی است که می توان از آن ها در پروژه های مختلف استفاده کرد.
3- "چرا این اسکریپت نیاز به این همه کتابخانه دارد؟"
با استفاده از زبانی بزرگ تر مثل جاوا و آبجکتیو-سی ، تعداد کتابخانه ها به طرز شگفت آوری افزایش می یابد. حتی بعضی از پلاگین ها برای جاوا اسکریپت نیازمند تعداد زیادی فایل های اضافه شده می باشد. بعضی اوقات این شلوغی آزار دهنده است، اما در نهایت کار می کند.
4- " باید جایی روی اینترنت راه حلی وجود داشته باشد"
اولین واکنش برنامه نویسان به یک مشکل بزرگ چک کردن اینترنت است. بسیاری از برنامه نویس ها مشکلات خود را در تالارهای گفت و گو مطرح می کنند، و در نهایت مشکل آن ها حل شده و آرشیو می شود. گوگل در یافتن کلمات کلیدی مربوط به مشکل و راهنمایی شما به مسیر درست بسیار عالی عمل می کند. متاسفانه گاهی اوقات اطلاعات کافی در مورد یک مشکل خاص روی اینترنت وجود ندارد.
5- " آیا برای این عملکرد یک پلاگین وجود دارد؟"
پلاگین ها منابعی بسیار عالی برای گسترش رابط کاربری هر برنامه یا وبسایت می باشند. به علاوه تنظیمات و گزینه های منحصر به فردی را برای برنامه نویس ایجاد می کنند که می توان با آن ها کار کرد. همچنین اگر از قبل یک پلاگین وجود ندارد، چرا خودمان یکی نسازیم؟
6- " سایت کار می کند، اما من از اینترنت اکسپلورر می ترسم."
همه ما مشکلات و سختی هایی که در همگام سازی صفحات وب با اینترنت اکسپلورر وجود دارد را می شناسیم. از نسخه 5.5 تا IE9-IE10 همیشه مشکلات بزرگی در پشتیبانی مرورگر وجود داشته است. توسعه دهندگان وب از اشکال زدایی صفحه وب می ترسند. البته خوشبختانه این مشکل در حال حل شدن است.
.
7- " نمی توان توضیحی منطقی برای آن پیدا کرد."
توضیحی منطقی برای حلقه های if/else، حلقه های for، حلقه های while، حلقه های do و غیره وجود دارد. وقتی که به یک کد نمونه نگاه می کنیم، سعی می کنیم توضیحی منطقی برای آن بیابیم. تعداد اپراتورهای NOT و علامت های مقایسه می تواند سرتان را درد بیاورد. بهترین کار این است که منطق خود را به روز رسانی کنید تا به مشکل بر نخورید.
8- " نیم ساعت صرف نوشتن یک تابع کرده ام و دو ساعت است تلاش می کنم کار کند."
به نظر می رسد که بدون مشکل دارید کار خود را انجام می دهد که ناگهان تابع شما خطا می دهد. حال باید به عقب برگردید تا اشکال را بیابید. این کار می تواند خیلی خسته کننده باشد اما وقتی که بالاخره مشکل را میابید حالتان خوب می شود.
9- " پس از خواندن چندین پست وبلاگ، حال می دانم که همه این مدت کارم را اشتباه انجام می داده ام."
زمان های زیادی پیش می آید که یک پروژه را شروع می کنید و به مشکل برمی خورید و برای حل آن به مقاله ها و وبلاگ ها سر می زنید. سپس می فهمید که متد شما کاملا اشتباه است و راحت ترین کار این است که دوباره شروع کنید. اگر از اول کمی تحقیق کنید در وقتتان صرف جویی می شود.
10- " وبسایت Stack Overflow می تواند به من کمک کند."
با Stack Overflow می توان مشکلات زیادی را حل کرد. این جامعه پر از آدم های خوب و باهوشی است که به شما کمک می کنند اولین قدم را بردارید. بعد از تالارهای گفت و گوی آنلاین Stack Overflow یکی از بزرگ ترین شبکه های پشتیبانی برای برنامه نویسی کامپیوتر و توسعه وب است.
11- " همه این مشکلات به خاطر یک پرانتز."
رفع اشکال یعنی بازبینی همه قدم هایی که برداشته اید. دو قدم به جلو، یک قدم به عقب، دو قدم دیگر به جلو و مشکل حل می شود. این حس که ساعت هاست به کد خود خیره شده اید تا اشکال را در نام توابع یا دامنه متغیر خود بیابید اما می فهمید که فقط یک پرانتز جا مانده حس عجیبی است. این همه زمان از دست رفته به خاطر یک پرانتز حس نابغه بودن و احمق بودن همزمان را به شما می دهد.
12- " وقت قهوه است."
گاهی اوقات فقط لازم است که از جلوی مانیتور بلند شوید. بعد از ساعت ها ضربه زدن روی صفحه کلید لازم است که بلند شوید و استراحت کنید. کارشناسان سلامت می گویند بعد از هر 30 تا 60 دقیقه کار باید استراحت کرد. البته اگر حس می کنید که اگر وسط کار آن را رها کنید رشته کار از دستتان در می رود این کار را نکنید.
13- " باید این پروژه را فعلا کنار بگذارم و بعدا با آن سر و کله بزنم."
یک راه دیگر که به شما کمک می کند این است که یک پروژه را برای مدتی کنار بگذارید. شاید کاری دیگر باید انجام دهید، این پروژه را رها کنید و به کار دیگرتان برسید. این راه بهتر از آن است که برای پنج ساعت به یک مشکل نگاه کنید و نتوانید آن را حل کنید.
14- " آیا گوش دادن به موسیقی کلاسیک می تواند قابلیت برنامه نویسی من را بهبود بخشد؟"
نظریه ای مبنی بر تاثیر مثبت موسیقی کلاسیک روی رشد گیاهان در مراحل اولیه وجود دارد. موسیقی کلاسیک با وجود نت های پیچیده بسیار جالب است. موسیقی کلاسیک نقش بسیار مهمی در فرهنگ انسان ها دارد. پس آیا گوش دادن به موزیک کلاسیک زمان برنامه نویسی آیا می تواند شما را در اشکال زدایی باهوش تر کند؟ احتمالا نه ، اما البته شما را احمق هم نمی کند.
15- " آیا کسی در کد منبع من فضولی کرده است؟"
ممکن است توهمی به نظر برسد، اما گاهی اوقات به نظر می رسد که وقتی که در خواب بوده ایم کسی به جای ما کد زده است. وقتی به پروژه های هفته ها یا ماه ها پیش نگاهی می اندازیم حس عجیبی به ما دست می دهد. گاهی چیزهایی می یابیم که اصلا به یاد نمی آورید اضافه کرده باشیم . حتی این اتفاق ممکن است وقتی که به کدهای هفته پیش نگاه می اندازید نیز بیوفتد.
16- " نمی فهمم هیچ کدام از این ها چه معنی می دهد."
بدترین حالت این است که به کد منبع نگاه کنید و اصلا ندانید چکار باید بکنید. این اتفاق ممکن است در پروژه خود یا کسی دیگر اتفاق بیوفتد. حال باید تصمیم بگیرید که از اول شروع کنید یا کدها را موشکافی کنید تا بفهمید چکار باید کرد.
17- " باید این پیام خطا را گوگل کنم."
در حل کردن مشکلات گوگل بزرگ ترین دوست شماست. چه برای پی اچ پی، چه آبجکتیو سی، پایتون، جاوا و دیگر زبان های مهم برنامه نویسی. پیام های خطا قرار است به ما کمک کنند اما اگر تفاوت معانی کد ها را بلد نباشید، حتی فهمیدن خود خطاها نیز می تواند مشکل ساز شود. خوشبختانه پشتیبانی های آنلاین زیادی برای ترجمه پیام های خطا وجود دارد.
18- " باید یک روز کار را متوفق کنم... ولی واقعا باید این مشکل را حل کنم."
برای همه ما پیش آمده است که بخواهیم کار را کاملا رها کنیم، اما فکر میکنیم که کار درست این نیست. می خواهیم آنقدر تلاش کنیم تا مشکل را حل کنیم. اما اگر یک ساعت دیگر را هدر دهیم چه؟
19- " خدایا چرا توضیحی ننوشته ام؟"
در مورد زبان های پایه مثل HTML/CSS/JS همیشه نیاز به نوشتن توضیح نیست. اما در مورد زبان ها و برنامه های پیچیده تر، باید منظم باشید تا وقتی که چند ماه بعد یا چند سال بعد به کدهای خود نگاه کردید بدانید چکار کرده اید. گاهی اوقات فراموش می کنید که در مورد توابع و پارامترهای آن ، فرمت خروجی و دیگر داده های مهم توضیحات لازم را بنویسید. این کار باعث می شود که وقتی باگ ها پیدیدار شدند بیشتر گیج شوید و مجبورید کل کدهای خود را برای یافتن راه حل مرور کنید. آنموقع است که فکر می کنید کاش توضیحات نوشته بودید.
20- " بیست دقیقه پیش کار می کرد."
شاید بدترین قسمت ساخت یک برنامه وقتی است که اول کار می کند و بعد دیگر کار نمی کند- بدون این که هرکدام از بخش های کد را تغییر داده باشید. این اتفاق می افتد و هیچ معنی نمی دهد. گاهی اوقات نیز یک تغییر کوچک در کد باعث می شود که کل برنامه از کار بیوفتد و دیگر کار نکند. به آخرین کپی کار خود برگردید و کار را دوباره از آنجا شروع کنید.
21- " یک نقطه ویرگول را فراموش می کنید و کل برنامه از کار می افتد."
تقریبا همه زبان های برنامه نویسی به یک سمبل برای پایان سطر نیاز دارند. هرکسی ممکن است یک نقطه ویرگول را فراموش کند! اما تجزیه کننده این را نمی فهمد و پیام خطا می دهد. حال مجبورید بیست دقیقه به دنبال یک مشکل تکنیکی بگردید، در حالی که در تمام این مدت فقط یک نقطه ویرگول را فراموش کرده بودید.
22- " اگر کسی مشکل من را حل کند چقدر پول می گیرد؟"
فکر این که کسی دیگر را استخدام کنید خیلی وسوسه انگیز است، اما از نظر اقتصادی اصلا به صرفه نیست. به اضافه، اگر خودتان مشکل را حل نکنید از کجا می خواهید چیز یاد بگیرید؟ وقتی که یک مفهوم برنامه نویسی را بالاخره می فهمید خیلی حس بسیار خوبی پیدا می کند، آن هم بعد از بارها شکست. اما همه ما به استخدام کردن فردی دیگر فکر می کنیم.
23- " سر زدن به وبسایت Hacker News می تواند عملکرد من را بهبود بخشد."
انتخاب بسیاری از برنامه نویس ها برای خواندن اخبار نرم افزار و استارت آپ ها وبسایت Hacker News می باشد. در این وبسایت اطلاعات بسیار خوبی در مورد مدیریت زمان، کار آزاد، توسعه وب و غیره می توان یافت. گرچه این وبسایت می تواند اطلاعات خوبی به شما بدهد وقت شما را نیز می گیرد. اما این که کمی در آنجا وقت بگذرانید برایتان خوب است.
24- " چگونه این API می توانید هیچگونه اثباتی نداشته باشد؟"
بدترین بخش در مورد استفاده از پلاگین یا فریم ورک توضیحات نوشتاری بد این است که مجبورید به خود کد منبع نگاهی دقیق بیاندازید. پروژه هایی که برنامه نویسان آن ها برای یک صفحه توضیحات زمان گذاشته اند مثل معجزه هستند، همه پارامترها و گزینه ها توضیح داده شده اند. اما متاسفانه همیشه اینگونه نیست. راحت ترین راه این است که از کاری که توضیحات خوب ندارد دوری کنید.
25- " امیدوارم یک کپی بکاپ یا پشتیبان از آن پایگاه داده داشته باشم..."
شاید همیشه وقتی که برنامه می نویسید و کدها را اشکال زدایی می کنید به پشتیبان فکر نکنید. با این حال، پشتیبان داده باعث می شود که با خیال راحت بتوانید وقتی که به مشکل برخوردید به حالت قبل بازگردید. به یاد داشته باشید که کپی فایل های وبسایت ها و پایگاه داده را برای مواقع ضروری دم دست داشته باشید. این کار ممکن است آزار دهنده باشد، اما نه به آزار دهندگی ساخت دوباره یک پایگاه داده SQL خراب.
26- " سریع ترین راه برای حل مشکل چیست؟"
پس از ساعت ها تلاش برای یافتن یک راه حل می فهمید که به یک رویکرد جدید نیاز دارید. برنامه نویس ها می خواهند پیش از این که یک رابط کاربری خوب بسازند برنامه شان درست کار کند. وقتی که از این موضوع اطمینان یافتید، به زیبایی کار خود فکر کنید.
27- " به روز رسانی نرم افزار این مشکل را حل می کند."
گاهی اوقات به روز رسانی نسخه های PHP/Ruby/Python/SQL مشکل را وقتی که فایل ها را از کامپیوتر خود به سرور می فرستید حل کند. البته به ندرت پیش می آید که به روز رسانی های محلی مشکل وجود یک باگ در کد منبع شما را حل کند، مگر این که نسخه شما زیادی از رده خارج باشد.
28- " باید مرتب تر باشم و گیت را بیاموزم... اما هفته بعد."
پکیج کنترل نسخه منبع باز گیت در میان برنامه نویسان پر طرفدار است. بسیار ساده تر از رقیبان خود است و در خیلی از مخازن آنلاین مثل گیتاب و بیت باکر استفاده می شود. البته برنامه نویس ها شاید از آن بگذرند چرا که بیشتر در سطح مبتدی است. با این حال پس از یاد گرفتن فرمان های پایه گیت بسیار به کارتان می آید. همچنین تمرین برای اشکال زدایی با کنترل نسخه را نیز ساده تر می کند.
29- " از اول شروع می کنم."
گاهی اوقات پس از ساعت ها تلاش مجبورید فایل های کار خود را به یک آرشیو منتقل کنید ( یا آن ها را حذف کنید) و از اول شروع کنید. از آنجایی که زمان زیادی را روی کارتان گذاشته اید این تصمیم می تواند بسیار دشوار باشد. اما گاهی اوقات شروع دوباره باعث می شود که کارتان بهتر و سریع تر پیش برود.
ثبت نظر