وبلاگ

با این 5 گام برنامه نویس بهتری شوید


رقیه اباذری رقیه اباذری

 

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

برنامه‌نویسی یک رشته در حال تکامل است. یکی از دلایلی که امروز افراد جذب رشته برنامه‌نویسی، خصوصا برنامه‌نویسی لاراول می‌شوند همین نکته است. شما هر روز با تکنولوژی و مباحث جدید در برنامه‌نویسی روبرو می‌شوید. برنامه‌نویس بروز یعنی سطح دانش بالا، قابلیت‌های بیشتر، ذهن بازتر و نهایتا موقعیت‌های کاری بهتر با شرکت‌های بزرگتر. در این مقاله از باورژن 5 گام که باعث می‌شوند برنامه‌نویس بهتری شوید، مورد بررسی قرارگرفته‌اند. با ما همراه باشید.

  1. 1. از تکنیک فاینمن استفاده کنید

تکنیک فاینمن یک مدل ذهنی به نام فیزیکدان برنده جایزه نوبل ریچارد فاینمن است.

سوال: ریچارد فاینمن که بود و چه کرد؟

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

ریچارد فاینمن

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

سپس عمکلرد خود را مرور کنید. با این کار خلا یا gap دانشی شما مشخص می‌شود. وقتی با خلاهای خود آشنا شدید به کتاب یا هر منبعی که دارید رجوع کرده و جای خالی اطلاعات را پر می‌کنید.

دوباره توضیحات را مرور کنید. باز مطالب را ساده‌تر کنید. فن بیان شما باید طوری باشد که افراد حتی بدون سطح علمی فعلی شما هم، مطالب را درک کنند.

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

توجه

برای استفاده از تکنیک Feynman می‌توانید در انجمن‌هایی مانند Stack Overflow شرکت کنید. با پاسخ دادن به سوالات و مشاهده پاسخ‌های دیگران، درک عمیق‌تری از عملکرد خود، پیدا خواهید کرد.

2. مهارت‌های نرم خود را ارتقا دهید

سوال: مهارت نرم چیست؟

مهارت نرم به عبارتی مهارت‌های توسعه فردی است که برای موفقیت در محل کار به آن نیاز دارید. برای مثال مهارت‌های ارتباطی، نگرش‌ها، ویژگی‌های شغلی، هوش اجتماعی، ضریب هوش هیجانی و ...

مهارت های نرم

به نظر می‌رسد مهارت‌های نرم کاملاً متضاد برنامه‌نویسی باشد (که گاهی اوقات نکته اصلی جذابیت آن است) اما برای پیشرفت حرفه‌ای شما حیاتی است.

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

مهارت نرم شما کم است؟ نگران نباشید این مهارت‌ها اکتسابی و قابل آموختن هستند.

3. سه بار کدنویسی کنید

نوشتن کد مانند نوشتن رمان است. درست مثل رمان نویسی، نباید اولین پیش‌نویس خود را به عنوان محصول نهایی خود معرفی کنید.

اولین بار که کدنویسی شما تمام می‌شود مطمئنا اجرای کار جواب می‌دهد. (منظور تست و باگ‌گیری‌های اولیه نیست، کلیت کار به درستی کار می‌کند.) اما آیا خوب کار می‌کند؟ ممکن است کاربردی باشد، اما آیا نمی‌توانید کدهای تمیز و بهینه‌تری بنویسید؟ اگر به دنبال ظرافت هستید (که برای کیفیت کار باید هم باشید)، سعی کنید سه بار کد بنویسید.

ترتیب و نحوه نوشتن کدهادر این 3مرحله را به صورت زیر بچینید:

سری اول کدنویسی: اثبات مفهوم کلی و عملکردها

سری دوم کدنویسی: اجرای کدها

سری سوم کدنویسی: بهترین عملکرد کدها  

4. زیاد کدنویسی کنید

برنامه‌نویسی هم نوعی مهارت محسوب می‌شود. از اول ابتدایی تا به امروز عبارت "تمرین، تمرین، تمرین" در یادگرفتن مهارت به ما گوشزد شده است. برنامه‌نویسی هم از این قاعده مستثنی نیست. برای حرفه‌ای شدن، نیاز به کدنویسی بیشتر دارید. منظور از کدنویسی بیشتر این نیست که یک قطعه کد سخت را یاد بگیرید و روزی چندبار همان کد را بنویسید و اجرا کنید و لبخند پیروزی بزنید. :/
کدهای جدید، چالش‌های جدید، تجربه‌های جدید و در نهایت برنامه‌نویس خوب.

اگر زبان انگلیسی شما در حد متوسط هم باشد، می‌توانید از GitHub برای نمایش پروژه‌های خود استفاده کنید و از سایر دولوپرها بخواهید که کارهای شما را نقد کنند و در مورد نحوه برخورد متفاوت با مسائل راهنمایی ارائه دهند.

بعد بهترین پروژه‌هایتان را تحت عنوان نمونه‌کار در یک سایت یا پروفایل لینکدین لیست کنید.

مشارکت در انجمن‌های open-source را به عنوان راهی برای ایجاد ارتباطات در فیلد کاری خود و همچنین کسب درک و بینش در مورد نحوه برخورد افراد با مشکلات متفاوت از مشاغل خود در نظر بگیرید.

5. تست واحد را انجام دهید

تست واحد یا unit testing چیست؟

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

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

تست واحد-unit testing

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

برای مثال CMS وردپرس را در نظر بگیرید. چند پلاگین به صورت مجزا به درستی کار می‌کنند ولی بعد از نصب و فعال‌سازی در پنل وردپرس، ممکن است به دلیل تداخل پلاگین‌ها، حتی سایت هم بالا نیاید.

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


رقیه اباذری
رقیه اباذری

تو دانشگاه IT خوندم و اکثر منابع کتاب‌های ترجمه شده بودند و صدالبته مبهم :( مثلا element رو "عنصر" ترجمه می‌کردن و من همیشه می‌رفتم تو شیمی و جدول مندلیف. تو باورژن سعی کردم تا حد ممکن مطالب رو با زبان ساده و قابل درک بنویسم. باشد که کسانی که تازه پا به عرصه برنامه‌نویسی گذاشتن، راغب‌تر بشن و با نظرات و فیدبک‌های شما راه هموارتر بشه:)

مطالب مرتبط

دیدگاه‌ها