بیشتر کد بنویسید
اگر میخواهید چیزی را بهتر کنید پس باید وقت خود را صرف آن کار کنید، متاسفانه راه دیگری وجود ندارد. مهم نیست که چند تا مقاله خواندهاید، چند بار مستندات را بررسی کردهاید، وضعیت شما بهبود نخواهد یافت مگر اینکه دست و ذهن خود را در عمل قرار دهید. آنقدر که شما در عمل و تمرین کردن تجربه و مهارت کسب میکنید، نمیتوانید از راه دیگری آنها را به دست آورید. پس هر چه زودتر دست به کار شده و وارد عمل شوید. هر چه بیشتر کد بزنید بهتر است. (البته نباید خودتان را در کدنویسی غرق کنید).
تست بنویسید
نوشتن تست شما را قادر میسازد تا کد خود را آنگونه که در ابتدا تصور نمیکنید ببینید، زیرا هنگامی که تستها به میان میآیند باید فکر کنید که چطور میتوانید کارها را از هم جدا کرده و انجام دهید و متوجه میشوید که کارهای زیادی را در یک تابع انجام دادهاید و ممکن است بهتر باشد که آن تابع را به چند بخش تقسیم کنید زیرا نوشتن تست برای تابعی که چندین کار انجام میدهد سخت میشود.
بنابراین نوشتن تست علاوه بر مزایای که دارد منجر به ایجاد کد باکیفیتتر میشود، چرا که شما مجبور میشوید توابع و متدهای طولانی خود را به بخشهای کوچکتر و تک وظیفهای تقسیم کنید و هر واحد را میتوان به راحتی تست کرد.
صادق باشید
در مورد آنچه که به طور کامل میدانید و آنچه که نمیدانید صادق باشید. تظاهر کردن به اینکه همه چیز را در مورد موضوعی میدانید به بهبود شما کمک نمیکند و ممکن است در مواقعی که در مورد آن موضوع بحث میکنید حرفهای احمقانهای بزنید چرا که در مورد آن به اندازه کافی دانش ندارید. و این امر نه تنها دیدگاه دیگران را نسبت به شما خراب میکند بلکه مانع از آن میشود تا به دنبال آموختن مطالب جدید بروید و دانش تازهای را کسب کنید.
در پروژههای منبع باز (open source) همکاری کنید
مشارکت در پروژههای منبع باز میتواند شما را با سناریوهایی مواجه کند که ممکن است هیچ گاه در محل کار رخ ندهد. شما میتوانید آنچه را که برای اجرای پروژه در یک سناریوی توزیعشده انجام میدهید را یاد بگیرید، مطالب جدید، چالشهای جدید، ابزارهای منبع باز جدید و غیره را یاد بگیرید. مزایای موجود در این کار بیانتها هستند و همه ما میدانیم که بررسی کد منبع باز چطور زندگی هر کس را به طور مستقیم و غیر مستقیم تغییر میدهد.
به دیگران کمک کنید
کمک به دیگران در زمینهای که شما آن را بلد هستید، میتواند شما را به یک مشاور و متخصص قابل اعتماد تبدیل کند و درنتیجه ارزش و اهمیت شما را در تیم بالا میّبرد. کمک کردن به دیگران در زمینههایی که در آنها چندان ماهر نیستید نیز میتواند به شما کمک کند چیزهای ارزشمندی را از این تجربه کسب کنید.
یک پروژه شخصی انتخاب کنید
پروژههای شخصی یک راه عالی برای یادگیری فریمورکها و تکنولوژیهای جدید هستند که ممکن است آنها را در محل کار خود تجربه نکنید. در پروژه شخصی شما مدیر محصول هستید، شما توسعهدهنده و معمار هستید، بنابراین میتوانید میزان تصمیمگیریهایی که باید انجام دهید را تصور کنید. شما میتوانید تجربیاتی که از پروژه خود و استفاده از ابزارها و فریمهای جدید کسب کردهاید را در محل کار خود به کار برید و به یک ستاره تبدیل شوید.
انعطافپذیر باشید
اجازه ندهید خودتان و عنوان شغلیتان بین شیوه یادگیری/بهبود شما قرار گیرد. مراقب کسی که هستید و بیشتر از آن آنچه که هر روز به آن تبدیل میشوید باشید. یک معمار در یک سازمان ممکن است یک توسعهدهنده نرمافزاری در یک سازمان دیگر باشد. همیشه آماده انجام روشهای جدید و متفاوت برای کارهایی که فکر میکنید در آنها میتوانید خوب عمل کنید باشد.
"چراها" را درک کنید
قبل از پذیرفتن و برانگیختن عقاید خود در مورد یک الگو، API یا فریمورک جدید، در وهله اول سعی کنید درک کنید "چرا" وجود دارد. سعی کنید به شهود موجودیت یک مفهوم بپردازید.
ما نمیگوییم که شما باید برای همه چیز (که تعداد آنها بسیار زیاد است) منتقد شوید، اما توسعه این عادت به شما کمک میکند تا فلسفه هر چیز را بهتر درک کنید و بنابراین دانش و فهم شما را بهبود میبخشد.
تنبل نباشید
تنبلی نکنید و سعی کنید مهارتها و چیزهایی را که برای شما اهمیت دارد را نشان دهید. مثلا اگر فکر میکنید refactor عملکرد را بهبود خواهد بخشید، پیش روید و آن را انجام دهید، کامنتهای خود را بنویسید تا در زمان توسعهدهندگان دیگر صرفهجویی کنید، API جدیدی را که ساختهاید مستندسازی کنید. زمان صرفشده توسط شما در کد برابر است با زمان ذخیره شده برای توسعهدهندگان دیگر. این کارها نه تنها به توسعهدهندگان دیگر کمک میکند بلکه شما را فعال نگه داشته و به یادگیری و به روز ماندن شما کمک میکند.
چالشهای برنامهنویسی را حل کنید
حل چالشهای برنامهنویسی شما را مجبور میکند تا در مورد مسائلی که در روال معمول با آنها مواجه میشوید فکر کنید. ما در مورد پیچیدگی کدهایمان صحبت میکنیم. برخی افراد استدلال میکنند حل چالش کاربردی نیست زیرا اکثر موارد غیر عملی هستند.
اما ما مخالف این ادعا هستیم! این کار نه تنها به شما کمک میکند منتقدانه به کد نگاه کنید بلکه به شما اطمینان میدهد بهترین کد ممکن را از لحاظ عملکرد ارائه دهید و یکی دیگر از مزایای آن این است که شما همیشه برای مذاکره در مورد آن آماده هستید.
موارد خوب را تشویق کنید
اگر کامیت همکارانتان را دوست داشتید، تامل نکنید و یک پیام تقدیرآمیز برای آنها بفرستید و یا اگر پاسخ موجود در stackoverflow یا در یک مقاله به شما کمک کرد، به آنها رأی مثبت دهید. تشویق دیگران کمک میکند بهترین نتیجه را از آنها بگیرید.
موفق باشید!
نظرات کاربران در رابطه با این دوره