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

زمان آن رسیده است که با جدیت برای تقویت مهارتهای برنامهنویسی خود اقدام کنید. در ادامه هشت راه برای اینکه برنامهنویس بهتری شوید را آوردهایم.
۱- به خودتان یادآوری کنید که چقدر باید بخوانید.
اولین قدم در یادگیری یک مساله این است که بفهمید موضوعی را نمیدانید. به نظر مساله واضحی است اما برنامهنویسان باتجربه میدانند که چقدر طول میکشد که به چنین دیدی برسند و به تصور شخصی از خود غلبه کنند.
خیلی از دانشجویان علوم کامپیوتر با این تصور متکبرانه که من بهتر از همه میدانم فارغالتحصیل میشوند. در ادامه اینان به شدت احساس نیاز به اثبات خودشان به هر نیروی جدید میکنند. بعد از گذر از این دوران، نظرتان مبنی بر این که من میدانم که چه میکنم تبدیل به این میشود که هرچیز جدیدی را میخواهم بیاموزم.
۲- دست از اثبات خوب بودنتان بردارید.
برای اینکه عالی باشید -نه فقط خوب- لازم است از تجربیات خود و دیگران درس بگیرید. اما دقت کنید تکیه بر تجربیات میتواند منجر شود که رفتار ضعیفی را تکرار کنیم و عادات بدی به وجود بیاوریم. همه ما با برنامهنویسانی که ۸ سال سابقه کار دارند روبرو شدهایم… در اغلب مواقع تجربه یک سالهای را دیدهایم که هشت بار تکرار شده است. برای جلوگیری از این پدیده به هرکاری انجام میدهید دقت کنید و از خودتان بپرسید آیا میتوانم این کار را بهتر انجام دهم؟
توسعهدهندگان نرمافزار تازه کار (و خیلی از کسانی که تجربه زیادی دارند) به کدشان نگاه میکنند تا شگفتیهای آن را تحسین کنند. تستهایی مینویسند که اثبات کنند کدشان کار میکنند به جای آن که تلاش کنند آن را به شکست وادارند. برنامهنویسانی که واقعا خوب هستند فعالانه دنبال این هستند که جایی را پیدا کنند که برنامه منجر به خطا میشود چراکه میدانند در نهایت کاربران مشکلاتی که آنها پیدا نکردهاند را خواهند یافت.
۳- “کد کار میکند” زمان پایان کار شما نیست، زمانی است که شما شروع میکنید
بله اولین گام برای اینکه نرمافزار با کیفیتی بنویسید این است که خصوصیات خواسته شده را برآورده کند. برنامهنویسان متوسط در همین نقطه متوقف شده و به کار دیگری مشغول میشوند.
اما توقف در این لحظه مثل این است که یک تصویر ثبت کنید و انتظار داشته باشید به عنوان کار هنری به نظر برسد. برنامهنویسان عالی میدانند که اگر کدی کار میکند عالی است اما الان باید سعی در بهبود آن داشت.
بخشی از این فرآیند، تعریف این است که بهبود چه معنایی دارد. آیا ارزشمند است که آن را سریعتر کنیم؟ یا مستندسازی آن را ساده کنیم؟ قابلیت استفاده مجدد از آن را بهبود بخشیم؟ قابل اعتمادتر کنیم؟ جواب در هر برنامهای متفاوت خواهد بود.
۴- سه بار آن را بنویسید.
برنامهنویسان خوب نرمافزاری مینویسند که کار میکند. برنامهنویسان عالی نرمافزاری مینویسد که به طرز فوقالعادهای خوب کار میکند. این اتفاق به ندرت در اولین تلاش رخ میدهد. بهترین نرمافزار معمولا سه بار نوشته میشود:
- اول نرمافزاری مینویسید که به خودتان اثبات کنید که راه حلی برای مساله وجود دارد. دیگران ممکن است متوجه نشوند که این کد صرفا برای اثبات مفهوم است.
- دوم شما آن را به کار میاندازید.
- سومین بار کاری میکنید که درست کار کند.
این سطح از کار با نگاه کردن به کد بهترین توسعهدهندگان واضح نیست. هر کاری آنها انجام میدهند خیلی هوشمندانه به نظر میرسد. اما شما هرگز نمیبینید که برنامهنویسان خبره هم ممکن است نسخه اول و دوم برنامه خود را قبل از نمایش آن به دیگران دور بیندازند.
اگر این سیاست سودی دیگر نداشته باشد، حداقل به شما یاد خواهد داد چند راه برای حل یک مساله وجود دارد.
۵- کد بخوانید. کدهای زیادی بخوانید.
این توصیه، رایجترین و ارزشمندترین پیشنهاد برای ارتقای مهارتهای برنامهنویسی است. چیزی که چندان روشن نیست این است که چرا خواندن کد دیگران انقدر مهم است.
وقتی شما کد دیگران را میخوانید، متوجه میشوید که چگونه دیگران یک مساله برنامهنویسی را حل کردهاند و به عنوان یک درس یا چالش به آن فکر میکنید. برای بهتر بهرهمند شدن از این توصیه، از خود بپرسید:
- چگونه من این بلوک از کد را مینوشتم؟ حالا که راه حلی دیگر دیدم چه کار متفاوتی انجام میدهم؟
- من چه چیزی یاد گرفتم؟ چگونه این تکنیک را میتوانم به کدی که قبلا نوشتم تعمیم دهم؟
- چگونه میتوانم این کد را بهبود دهم؟ در پروژههای متنباز جایی اطمینان بیشتری دارید که کد بهتری نوشتهاید.
- کدی به سبک نویسنده یادداشت کنید. این تمرین کمک میکند که به ذهن نویسنده نرمافزار راه پیدا کنید.
فقط هم به همین گامها بسنده نکنید. جوابهای خودتان را در وبلاگ شخص، مجله یا هر انجمنی (مثل جاواکاپ 🙂 ) یادداشت کرده و با سایر توسعهدهندگان به اشتراک بگذارید. شرح مشکل به دوستان میتواند به سامان دادن راهحلها کمک بکند. تحلیلهای خودتان را یادداشت کرده و با دوستان به اشتراک گذارید. این کار باعث میشود نقاط ضعف و قوت خود را نیز متوجه شوید.
اخطار: خیلی احتمال دارد که کدهای زیادی بخوانید اما برنامهنویس خوبی نشوید! خیلی از برنامهنویسان به کدهای متن باز مراجعه میکنند تا جوابی را بیابند یا به عبارتی کدی را کپی کنند که به ظاهر مساله آنها را حل میکند. این کار حتی میتواند شما را برنامهنویس بدتری کند چرا که بدون هیچ تست و بررسی، کدی را کپی میکنید که معلوم نیست چقدر خطا ممکن است ایجاد کند و اینگونه به کارخانهای از باگها تبدیل میشوید!
۶- کد بزنید، نه تنها برای تمرینات
کار کردن برای پروژههای برنامهنویسی شخصی سود زیادی دارد. یکی از مزایای آن یادگیری ابزارها و تکنولوژیهایی است که در شغل فعلیتان با آنها درگیر نمیشوید. چه برای یک پروژه متن باز کار کنید یا پروژه شخصی خود را اجرا کنید، باعث میشود شما به مهارتهای بیشتر و اعتماد به نفس بالاتری دست پیدا کنید.
یکی دیگر از مزایای کدنویسی برای سرگرمی این است که شما را مجبور میکند خودتان با مسائل دست و پنجه نرم کنید و کارهای دشوار را به دیگران واگذار نکرده و مرتبا از دیگران درخواست کمک نکنید.
نکته: فقط به پروژههای شخصی که هیچ وقت در آنها شکست نمیخورید بسنده نکنید! شما لازم است شکست بخورید اما احتمالا دوست ندارید سر کار یا وقتی ددلاینی وجود دارد با شکست مواجه شوید.
۷- با دیگر توسعهدهندگان هر طور که میتوانید کار کنید.
گوش دادن به دیگران کمککننده است. این میتواند به معنی برنامهنویسی مشترک، شرکت در یک هکاتون یا عضویت در یک گروه از برنامهنویسان باشد. در این مواقع به بازخوردی که از دیگر کاربران و توسعهدهندگان میگیرید دقت کنید. چه نکات مشترکی در انتقاداتشان دریافت میکنید.
شما میتوانید به اندازه کافی خوششانس باشید که یک راهنمای شخصی پیدا کنید که بتوانید در همه زمینهها مثل تکنیکهای برنامهنویسی یا انتخاب شغل روی راهنمایی وی حساب کنید. این موقعیتها را از دست ندهید.
۸- تکنیکها را یاد بگیرید نه ابزارها
زبانهای برنامهنویسی، ابزارها و متدولوژیها در گذرند. به همین دلیل پیدا کردن تجربه حداکثری با زبانها و چارچوبهای جدید هزینهبر است. بهتر است روی پایههای برنامهنویسی تمرکز کنید، چرا که اینها هیچ وقت تغییر نمیکنند. بیشاز برنامهنویسی، معماری و ساختار را مورد توجه قرار دهید.
نکات دیگری هم وجود دارد که کمک کنند برنامهنویسی حرفهای شوید، شما چه نکتهی دیگری را مدنظر دارید؟ به کارگیری توصیههای فوق را موثر میدانید؟
منبع:
برگرفته از:
سلام
بسیار عالی بود متشکرم
موفق و موید باشید
سلام
واقعا ممنونم 😉
موفق باشید
ba salam va khaste nabshid.
vali jomle bandi haton zaife.
adam fek mikone ke ye matlabio daghighan tarjome kalame be kalame kardid.
سلام
ما با جدیت این مساله را مدنظر قرار داده و میدهیم. اگر کماکان بهبودی در جایگزینی، چینش، انتخاب واژگان و … به نظرتان میرسد ممنون میشویم که متذکر شوید و در این راه ما را یاری کنید.
به عبارتی شما ویراستار ما باشید 🙂