تابحال از خودتان پرسیدید که چطور کد نویس بهتری شوید ؟وقت آن است که در مورد بهبود مهارتهای برنامه نویسی جدی باشید. بیایید این کار را با هم انجام دهیم.
این یک هدف پیشرفت شغلی است که باید به آن دست پیدا کنید، اما برنامه نویس حرفهای شدن به این سادگی نیست. کافی است بگویید "من میخواهم بهتر شوم"، در این صورت همه عوامل دست به دست هم میدهند تا شما را به هدفتان نزدیکتر کنند.
بنابراین بگذارید هشت راهنمای عملی را برایتان شرح دهم که میتوانند به عنوان یک نمودار برای بهبود مهارتهای برنامه نویسی شما عمل کنند. این نکات هوشمندانه حاصل تجربیات 35 ساله افرادی است که در صنعت رایانه جمع آوری شده است و آنها عمر خود را در این راه صرف کرده اند.
1. به خود یادآوری کنید که چقدر باید یاد بگیرید
مفهوم یادگیری: اولین قدم در یادگیری چیزی این است که تشخیص دهید آن را نمیدانید. به نظر واضح است، اما برنامه نویسان باتجربه به یاد میآورند که چه مدت طول کشیده تا بر این فرض شخصی غلبه کنند. بسیاری از دانشجویان علوم کامپیوتر با یک متانت متکبرانه که "من بهترین را میدانم" فارغ التحصیل میشوند. این یقین قوی که آنها همه چیز را میدانند و نیاز شدید به اثبات آن به هر همکار دیگری میتواند مانع یادگیری هر چیز جدیدی شود.
2. دست از تلاش برای اثبات خود بردارید
برای پیشرفت کردن و نه فقط خوب بودن باید از تجربیات درس بگیرید. اما مراقب باشید، تجربه میتواند به ما یاد دهد که رفتار ضعیف را تکرار کرده و عادتهای بد ایجاد کنیم. همه ما با برنامه نویسانی با چند سال تجربه مواجه شدهایم که همان سال تجربه چند بار تکرار شده است. برای جلوگیری از این سندرم، به هر کاری که انجام میدهید نگاه کنید و از خود بپرسید "چگونه میتوانم آن را بهتر کنم؟"
توسعه دهندگان باتجربه برای اثبات شگفت انگیز بودن کدشان، تستهایی را مینویسند که نشان دهد کد آنها به درستی کار میکند. برنامه نویسان عالی واقعا فعالانه به جستجو در چیزی میپردازند که در آن اشتباه میکنند، زیرا آنها میدانند که در نهایت کاربران نقایصی را که از دست دادهاند خواهند یافت.
3. "کد کار میکند" جایی نیست که شما متوقف شوید، این همان جایی است که شما شروع میکنید
بله، اولین قدم شما همیشه نوشتن نرمافزاری با کیفیت است که نیازها را برآورده کند. برنامه نویسان متوسط در آن مرحله کار را رها کرده و به سراغ مورد بعدی میروند.
اما متوقف شدن قبل از اتمام کار مانند گرفتن یک عکس فوری و انتظار آن است که یک اثر هنری باشد. برنامه نویسان عالی میدانند که تنها تکرار اول کافی نیست. هنگامی که کد کار میکند، آن را رها نکنید و سعی کنید بهترش کنید.
بخشی از این فرآیند تعریف مفهوم "بهتر شدن" است. آیا سرعت بخشیدن به آن ارزش دارد؟ آسانتر از نوشتن مستندات؟ بیشتر قابل استفاده مجدد است؟ قابل اعتمادتر؟ پاسخ به هر برنامه متفاوت است، اما روند آن تغییر نمیکند.
4. سه بار آن را بنویسید
برنامه نویسان خوب نرمافزاری مینویسند که کارساز باشد. متخصصان نرمافزاری مینویسند که بسیار عالی عمل میکند. اما این به ندرت در اولین تلاش اتفاق میافتد. بهترین نرمافزار معمولا سه بار نوشته میشود:
ابتدا نرمافزار را مینویسید تا به خود (یا مشتری) ثابت کنید که اجرای راه حل شدنی است. دیگران ممکن است تشخیص ندهند که این فقط اثبات مفهوم است، اما شما این را میدانید.
بار دوم، آن را بهبود میدهید.
بار سوم، عالی کار میکند.
وقتی به کار بهترین توسعه دهندگان نگاه میکنید، ممکن است این سطح از کار مشخص نباشد. هر کاری که انجام میدهند بسیار درخشان به نظر میرسد، اما آنچه نمیبینید این است که حتی توسعه دهندگان راک استار احتمالا قبل از نشان دادن نرمافزار خود به دیگران، نسخه اول و دوم را دور انداختند. دور ریختن کد و شروع کار میتواند روشی قدرتمند برای گنجاندن "بهتر کردن آن" در گردش کار شخصی شما باشد.
اگر هیچ چیز دیگری نیست، "سه بار آن را بنویسید". این به شما میآموزد که چند راه برای نزدیک شدن به یک مسئله وجود دارد و از گیر افتادن شما در یک مرحله جلوگیری میکند.
5. کد بخوانید، تعداد زیادی کد بخوانید
مفهوم کد بخوانید: احتمالا انتظار داشتید که من با این توصیه شروع کنم، در واقع رایج ترین و ارزشمندترین پیشنهاد برای بهبود مهارتهای برنامه نویسی است. آنچه کمتر مشهود است، دلایل اهمیت خواندن کد دیگران است.
وقتی کد دیگران را میخوانید، میبینید که چگونه شخص دیگری یک مسئله برنامه نویسی را حل کرده است. اما با آن به عنوان ادبیات رفتار نکنید. به عنوان یک درس و یک چالش فکر کنید. برای بهتر شدن از خود بپرسید:
چگونه میتوانم آن مجموعه کد را بنویسم؟ اکنون که راه حل دیگری را مشاهده کردید، متوجه میشوید میتوانستید چه کار کنید؟
چه چیزی یاد گرفتم؟ چگونه میتوانم آن تکنیک را روی کدی که در گذشته نوشتم اعمال کنم؟ ("من هرگز به این فکر نکردهام که از روش بازگشتی در آنجا استفاده کنم ...").
چگونه میتوانم این کد را بهبود ببخشم؟ و اگر یک پروژه متن باز است که اطمینان دارید که راه حل بهتری دارید، آن را انجام دهید!
کد را به سبک نویسنده بنویسید. تمرین این امر به شما کمک میکند تا در ذهن شخصی که این نرمافزار را نوشته، قرار بگیرید و این میتواند همفکری شما را بهبود بخشد.
فقط به این مراحل فکر نکنید. پاسخهای خود را در یک ژورنال شخصی، یک وبلاگ، یک فرآیند بررسی کد یا در یک انجمن با سایر توسعه دهندگان بیان کنید. همانطور که توضیح یک مشکل برای دوست شما میتواند به شما در حل آن کمک کند، نوشتن و به اشتراک گذاری تجزیه و تحلیل میتواند به شما کمک کند تا درک کنید که چرا به کد شخص دیگری به روشی مشخص واکنش نشان میدهید. همه اینها بخشی از درون بینی است که قبلا ذکر کردم، این به شما کمک میکند تا با قاطعیت نقاط قوت و ضعف خود را قضاوت کنید.
توجه: آسان است که بسیاری از کدها را بخوانید بدون اینکه یک برنامه نویس عالی شوید، همانطور که یک نویسنده میتواند ادبیات عالی بخواند بدون اینکه نثر خودش را بهبود بخشد. بسیاری از توسعه دهندگان برای یافتن پاسخی به پروژههای متن باز یا سایر نرمافزارها نگاه میکنند و به احتمال زیاد کدی را کپی و جایگذاری میکنند که به نظر میرسد مشکلی مشابه را حل میکند. انجام این کار میتواند در واقع شما را به یک برنامه نویس بدتر تبدیل کند، زیرا شما کورکورانه دانش دیگران را بدون بررسی آن میپذیرید. (به علاوه ممکن است آن هم مشکلاتی داشته باشد، اما چون برای درک آن وقت نگذاشتید هرگز تشخیص نخواهید داد که فقط یک کد مشکل ساز وارد کردهاید.)
6. کد بنویسید، نه فقط به عنوان تکالیف
کار بر روی پروژههای برنامه نویسی شخصی دارای مزایای بسیاری است. برای اولین بار، این دیدی به شما میدهد تا ابزارها و فناوریهایی را بیاموزید که در شغل فعلی شما در دسترس نیستند، اما باعث میشود برای کار بعدی بازاریابی بیشتری داشته باشید. خواه در یک پروژه متن باز مشارکت داشته باشید و یا برای یک سازمان محلی کار کنید، مهارتهای فنی و اعتماد به نفس کسب خواهید کرد. (همچنین پروژههای شخصی شما به کارفرمایان احتمالی نشان میدهد که شما یک مبتدی هستید که هرگز یادگیری را متوقف نمیکنید.)
یکی دیگر از مزایای نوشتن کد برای سرگرمی این است که شما را مجبور میکند خودتان مسائل را حل کنید. چون نمیتوانید کارهای سخت را به شخص دیگری بسپارید، باعث میشود خیلی زود از بقیه درخواست کمک نکنید.
نکته: فقط پروژههای شخصی را انتخاب نکنید با در نظر گرفتن اینکه هرگز شکست نخورید. شما باید شکست بخورید! اما احتمالا نمیخواهید در زمان حساسی این اتفاق بیفتد.
7. به هر روشی که میتوانید با توسعه دهندگان دیگر کار کنید
مفهوم همکاری: این ممکن است به معنای برنامه نویسی مشترک یا پیوستن به یک گروه برنامه نویسی باشد. وقتی در یک پروژه متن باز مشارکت میکنید، به بازخوردی که از کاربران و سایر توسعه دهندگان میگیرید توجه کنید. چه مشترکاتی را در انتقادات آنها میبینید؟
شما ممکن است آنقدر خوش شانس باشید و بتوانید یک مربی شخصی پیدا کنید که به او اعتماد کرده تا شما را در هر کاری از تکنیکهای کدنویسی گرفته تا تصمیمات شغلی راهنمایی کند. این فرصتها را هدر ندهید.
8- تکنیکها را یاد بگیرید، نه ابزارها را
زبانها، ابزارها و متدهای برنامه نویسی میآیند و میروند. به همین دلیل دریافت هرچه بیشتر تجربه با بیشترین زبان و فریمورک میتواند هزینه داشته باشد. بر اصول برنامه نویسی تمرکز کنید، زیرا اصول اولیه هرگز تغییر نمیکنند. به معماری بیشتر از برنامه نویسی توجه کنید. اگر مطمئن هستید که فقط یک راه درست برای انجام کاری وجود دارد، احتمالا زمان بررسی واقعیت است. باورهای غلط میتواند توانایی شما را در یادگیری چیزهای جدید مختل کند و شما را وادار کند که خود را با تغییرات وفق دهید.
میتوان ساعتها به بحث در این زمینه پرداخت، اما تنها اصل اساسی در زمینه خودسازی این است که بدانم چه زمانی باید متوقف شوم.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید