SlideShare a Scribd company logo
1 of 35
Download to read offline
how to be a better
Developer & Programmer
‫باش‬ ‫بهتر‬ ‫نویس‬ ‫برنامه‬ ‫و‬ ‫دهنده‬ ‫توسعه‬ ‫یک‬ ‫چگونه‬‫یم‬
‫رزبن‬ ‫شرکت‬-‫مرداد‬95
Passion
‫نوش‬ ‫خودتان‬ ‫که‬ ‫کدی‬ ‫خطوط‬ ‫از‬ ‫و‬ ‫نشسته‬ ‫سیستم‬ ‫جلوی‬ ‫روز‬ ‫یک‬ ‫برای‬ ‫تا‬ ‫ندارید‬ ‫عالقه‬ ‫شما‬ ‫اگر‬‫لذت‬ ‫اید‬ ‫ته‬
‫نمی‬ ‫شما‬ ‫مناسب‬ ‫مهارت‬ ‫این‬ ‫ببرید‬‫باشد‬
‫شود‬ ‫می‬ ‫فرسا‬ ‫طاقت‬ ‫امری‬ ‫کردن‬ ‫تمرین‬ ‫باشید‬ ‫نداشته‬ ‫عالقه‬ ‫کاری‬ ‫به‬ ‫شما‬ ‫اگر‬
‫برنام‬ ‫یک‬ ‫برای‬ ‫مساله‬ ‫این‬ ‫کن‬ ‫تمرین‬ ‫که‬ ‫شود‬ ‫گفته‬ ‫خوب‬ ‫گیتاریست‬ ‫یک‬ ‫به‬ ‫نیست‬ ‫نیازی‬ ‫که‬ ‫میدانند‬ ‫همه‬‫هم‬ ‫خوب‬ ‫نویس‬ ‫ه‬
‫دارد‬ ‫مصداق‬
، ‫نیست‬ ‫ضروی‬ ‫کردن‬ ‫تمرین‬ ‫که‬ ‫است‬ ‫این‬ ‫اصلی‬ ‫کلید‬‫تمرین‬ ‫خواستن‬‫است‬ ‫مهم‬
‫شود‬ ‫آن‬ ‫از‬ ‫استفاده‬ ‫و‬ ‫گیتار‬ ‫برداشتن‬ ‫و‬ ‫خانه‬ ‫به‬ ‫بازگشت‬ ‫منتظر‬ ‫تواند‬ ‫نمی‬ ‫خوب‬ ‫گیتاریست‬ ‫یک‬
‫شود‬ ‫بعدی‬ ‫زنی‬ ‫کد‬ ‫چالش‬ ‫کشف‬ ‫منتظر‬ ‫تواند‬ ‫نمی‬ ‫خوب‬ ‫نویس‬ ‫برنامه‬ ‫یک‬ ‫ترتیب‬ ‫همین‬ ‫به‬
‫اشتیاق‬ ‫و‬ ‫شور‬
Persistence
‫ش‬ ‫ایجاد‬ ‫نت‬ ‫یک‬ ‫تا‬ ‫گذارد‬ ‫می‬ ‫وقت‬ ‫خود‬ ‫کار‬ ‫روی‬ ‫بر‬ ‫ها‬ ‫روز‬ ‫و‬ ‫ها‬ ‫ساعت‬ ‫که‬ ‫گیتاریست‬ ‫یک‬ ‫مانند‬‫برنامه‬ ‫ود‬
‫نشود‬ ‫ناامید‬ ‫و‬ ‫کند‬ ‫تالش‬ ‫خود‬ ‫مشکل‬ ‫حل‬ ‫برای‬ ‫ها‬ ‫بار‬ ‫و‬ ‫ها‬ ‫بار‬ ‫بتواند‬ ‫باید‬ ‫هم‬ ‫نویس‬
‫پافشاری‬
Improve Your English Language
‫کنید‬ ‫تقویت‬ ‫را‬ ‫خود‬ ‫انگلیسی‬ ‫زبان‬
Work on Basics
‫است‬ ‫موفقیت‬ ‫کلیدی‬ ‫نکته‬ ‫مفاهیم‬ ‫فهم‬ ‫شغلی‬ ‫و‬ ‫صنعت‬ ‫هر‬ ‫برای‬
‫بود‬ ‫نخواهد‬ ‫موفق‬ ‫نویس‬ ‫برنامه‬ ‫یک‬ ‫هیچگاه‬ ‫باشد‬ ‫نداشته‬ ‫قوی‬ ‫مفاهیم‬ ‫های‬ ‫دریافت‬ ‫کسی‬ ‫که‬ ‫وقتی‬ ‫تا‬
‫اصلی‬ ‫مفاهیم‬ ‫فهم‬(core)‫کرد‬ ‫خواهد‬ ‫کمک‬ ‫ممکن‬ ‫زمان‬ ‫بهترین‬ ‫در‬ ‫حل‬ ‫راه‬ ‫بهترین‬ ‫سازی‬ ‫پیاده‬ ‫و‬ ‫طراحی‬ ‫در‬ ‫شما‬ ‫به‬
‫بازگ‬ ‫برای‬ ‫هنوز‬ ‫دارد‬ ‫وجود‬ ‫شما‬ ‫نویسی‬ ‫برنامه‬ ‫زبان‬ ‫مفاهیم‬ ‫و‬ ‫کامپیوتر‬ ‫اصلی‬ ‫دانش‬ ‫بین‬ ‫ای‬ ‫فاصله‬ ‫هنوز‬ ‫اگر‬‫مطالعه‬ ‫و‬ ‫شت‬
‫است‬ ‫نشده‬ ‫دیر‬ ‫ای‬ ‫پایه‬ ‫مفاهیم‬
‫پایه‬ ‫تقویت‬
You learn more by helping others
‫باشیم‬ ‫کمک‬ ‫نیازمند‬ ‫که‬ ‫کنیم‬ ‫می‬ ‫مراجعه‬ ‫ها‬ ‫گرو‬ ‫و‬ ‫ها‬ ‫فروم‬ ‫به‬ ‫زمانی‬ ‫ما‬ ‫اغلب‬
‫است‬ ‫دیگران‬ ‫به‬ ‫کمک‬ ‫جهت‬ ‫ها‬ ‫مکان‬ ‫این‬ ‫مشاهده‬ ‫در‬ ‫خوب‬ ‫غیر‬ ‫و‬ ‫خوب‬ ‫نویس‬ ‫برنامه‬ ‫میان‬ ‫واضح‬ ‫کننده‬ ‫جدا‬ ‫یک‬
‫کنند‬ ‫می‬ ‫کمک‬ ‫همدیگر‬ ‫به‬ ‫مشکالت‬ ‫حل‬ ‫در‬ ‫همه‬ ‫خوب‬ ‫تیم‬ ‫یک‬ ‫در‬
‫میگیرید‬ ‫یاد‬ ‫دیگران‬ ‫به‬ ‫کمک‬ ‫با‬ ‫شما‬
When you face an error
i'm NOT ALONE
When you see an application(web application or windows),
tell yourself. it's technically possible for you to build a similar one.
try to model it in your mind.
Write a thorough implementation plan (or model).
‫نوشتن‬‫اجرایی‬ ‫طرح‬(‫مدل‬ ‫یا‬)
‫باشد‬ ‫ساده‬ ‫فلوچارت‬ ‫یک‬ ‫تواند‬ ‫می‬ ‫طرح‬ ‫این‬ ‫کوچک‬ ‫موارد‬ ‫برای‬
‫کمک‬ ‫کوچک‬ ‫های‬ ‫ماژول‬ ‫به‬ ‫کار‬ ‫شکستن‬ ‫به‬ ‫میتواند‬ ‫طراحی‬ ‫این‬ ‫بزرگتر‬ ‫های‬ ‫پروژه‬ ‫برای‬‫در‬ ‫با‬ ‫کند‬
‫زیر‬ ‫موارد‬ ‫گرفتن‬ ‫نظر‬:
-‫دارد‬ ‫عهده‬ ‫بر‬ ‫ماژول‬ ‫هر‬ ‫را‬ ‫وظایفی‬ ‫چه‬
-‫شوند‬ ‫می‬ ‫جابجا‬ ‫ها‬ ‫ماژول‬ ‫میان‬ ‫چگونه‬ ‫ها‬ ‫داده‬
-‫شوند‬ ‫می‬ ‫استفاده‬ ‫ماژول‬ ‫هر‬ ‫داخل‬ ‫چگونه‬ ‫ها‬ ‫داده‬
‫بکش‬ ‫نفس‬!
‫ساعت‬ ‫دو‬ ‫از‬ ‫بیش‬ ‫کد‬ ‫یک‬ ‫منطق‬ ‫در‬ ‫اگر‬(‫دارد‬ ‫کد‬ ‫به‬ ‫بستگی‬ ‫البته‬) !!!‫کار‬ ‫کردید‬ ‫گیر‬‫متوقف‬ ‫را‬
‫کنید‬ ‫امتحان‬ ‫مجدد‬ ‫و‬ ‫بخورید‬ ‫قهوه‬ ‫یا‬ ‫چای‬ ‫یک‬ ‫کنید‬
(‫شود‬ ‫می‬ ‫زده‬ ‫هم‬ ‫کد‬ ‫ها‬ ‫وقت‬ ‫بعضی‬ ‫قهوه‬ ‫و‬ ‫چای‬ ‫بین‬ ‫شده‬ ‫مشاهده‬ ‫بعضا‬) !
Comment
‫کام‬ ‫هست‬ ‫توضیح‬ ‫مند‬ ‫نیاز‬ ‫شما‬ ‫کد‬ ‫که‬ ‫بینید‬ ‫می‬ ‫اگر‬‫گذاری‬ ‫نت‬
‫بدهید‬ ‫انجام‬
‫های‬ ‫آرگومان‬ ‫درباره‬ ‫توضیح‬ ‫خط‬ ‫دو‬ ‫یا‬ ‫یک‬ ‫باید‬ ‫تابع‬ ‫هر‬
‫باشد‬ ‫داشته‬ ‫خروجی‬ ‫و‬ ‫ورودی‬
‫کنید‬ ‫بروز‬ ، ‫شد‬ ‫بروز‬ ‫کد‬ ‫که‬ ‫هنگامی‬ ‫را‬ ‫کامنت‬!!
Use consistent naming conventions for
variables
‫متغ‬ ‫نوع‬ ‫تا‬ ‫کند‬ ‫می‬ ‫کمک‬ ‫شما‬ ‫به‬ ‫گذاری‬ ‫نام‬ ‫شیوه‬ ‫این‬‫را‬ ‫ها‬ ‫یر‬
‫کنید‬ ‫دنبال‬
‫ن‬ ‫که‬ ‫است‬ ‫مجارستانی‬ ‫نمایش‬ ‫متداول‬ ‫های‬ ‫شیوه‬ ‫از‬ ‫یکی‬‫ام‬
‫متغیر‬ ‫نوع‬ ‫پیشوند‬ ‫با‬ ‫متغیر‬
‫گردد‬ ‫می‬ ‫ادغام‬:
intRowCounter‫متغیر‬integer
strUserName‫متغیر‬stiring
‫ها‬ ‫متغیر‬ ‫برای‬ ‫سازگار‬ ‫گذارس‬ ‫نام‬ ‫قواعد‬
‫کد‬ ‫دهی‬ ‫سازمان‬Organize your code
‫استف‬ ‫کد‬ ‫های‬ ‫ساختار‬ ‫جداکردن‬ ‫جهت‬ ‫بصری‬ ‫های‬ ‫ساختار‬ ‫از‬‫اده‬
‫کنید‬
‫بیاندازید‬ ‫فاصله‬ ‫اسپیس‬ ‫با‬ ‫مقادیر‬ ‫و‬ ‫ها‬ ‫متغیر‬ ‫بین‬
‫مخص‬ ‫صرفا‬ ‫های‬ ‫کد‬ ‫از‬ ‫را‬ ‫مجدد‬ ‫استفاده‬ ‫قابلیت‬ ‫با‬ ‫های‬ ‫کد‬‫ص‬
‫نمای‬ ‫استفاده‬ ‫ها‬ ‫آن‬ ‫از‬ ‫بتوانید‬ ‫بعدا‬ ‫تا‬ ‫کنید‬ ‫جدا‬ ‫برنامه‬‫این‬ ‫ید‬
‫تسر‬ ‫را‬ ‫بعدی‬ ‫های‬ ‫برنامه‬ ‫نوشتن‬ ‫نیز‬ ‫و‬ ‫برنامه‬ ‫تست‬ ‫کار‬‫یع‬
‫بخشد‬ ‫می‬
‫بودن‬ ‫زیبا‬ ‫برای‬ ‫نه‬ ‫بنویسد‬ ‫زیبا‬ ‫را‬ ‫خود‬ ‫ی‬ ‫ها‬ ‫کد‬!‫ج‬ ‫بلکه‬‫باال‬ ‫هت‬
‫ب‬ ‫دیگر‬ ‫ماه‬ ‫شش‬ ‫است‬ ‫ممکن‬ ‫وقتی‬ ‫امر‬ ‫این‬ ‫خوانایی‬ ‫رفتن‬‫کد‬ ‫ه‬
‫گردد‬ ‫می‬ ‫تر‬ ‫ضروری‬ ‫کنید‬ ‫پیدا‬ ‫نیاز‬!
Write simple, understandable but logical code
‫بگیر‬ ‫کوتاه‬ ‫و‬ ‫ساده‬ ‫فرمول‬ ‫زندگی‬ ‫های‬ ‫جنبه‬ ‫همه‬ ‫مانند‬(keep it simple and short)‫برقرار‬ ‫نیز‬ ‫نویسی‬ ‫برنامه‬ ‫در‬
‫هست‬
‫بنویسید‬ ‫پیچیدگی‬ ‫بدون‬ ‫و‬ ‫منطقی‬ ‫را‬ ‫کد‬
‫نویسند‬ ‫می‬ ‫خود‬ ‫های‬ ‫توانایی‬ ‫نمایش‬ ‫جهت‬ ‫صرفا‬ ‫را‬ ‫پیچیده‬ ‫های‬ ‫کد‬ ‫افراد‬ ‫مواقع‬ ‫از‬ ‫بعضی‬
‫کنند‬ ‫می‬ ‫کار‬ ‫خوبی‬ ‫به‬ ‫همیشه‬ ‫منطقی‬ ‫و‬ ‫ساده‬ ‫های‬ ‫کد‬ ‫است‬ ‫داده‬ ‫نشاند‬ ‫تجربه‬
‫جالب‬ ‫قول‬ ‫نقل‬ ‫یک‬:
“‫کنید‬ ‫سوال‬ ‫خود‬ ‫از‬ ‫کنید‬ ‫اضافه‬ ‫را‬ ‫توضیحی‬ ‫خواهید‬ ‫می‬ ‫که‬ ‫هنگامی‬ ، ‫دارد‬ ‫را‬ ‫ها‬ ‫مستند‬ ‫بهترین‬ ‫خوب‬ ‫کد‬«‫من‬‫می‬ ‫چگونه‬
‫نباشد‬ ‫توضیح‬ ‫این‬ ‫به‬ ‫نیازی‬ ‫که‬ ‫ببخشم‬ ‫بهبود‬ ‫را‬ ‫کد‬ ‫توانم‬»Steve McConnell
https://en.wikipedia.org/wiki/Steve_McConnell
‫منطقی‬ ‫اما‬ ‫فهم‬ ‫قابل‬ ، ‫ساده‬
Spend more time in analyzing the problem,
you’ll need less time to fix it
‫بگذرانید‬ ‫آن‬ ‫حل‬ ‫راه‬ ‫طراحی‬ ‫و‬ ‫مساله‬ ‫تحلیل‬ ‫و‬ ‫فهم‬ ‫برای‬ ‫را‬ ‫بیشتری‬ ‫زمان‬
‫نیست‬ ‫ها‬ ‫ابزار‬ ‫و‬ ‫سازی‬ ‫مدل‬ ‫های‬ ‫زبان‬ ‫از‬ ‫استفاده‬ ‫معنی‬ ‫به‬ ‫همیشه‬ ‫طراحی‬
‫باش‬ ‫می‬ ‫ذهن‬ ‫در‬ ‫حل‬ ‫راه‬ ‫درباره‬ ‫تفکر‬ ‫و‬ ‫آسمان‬ ‫به‬ ‫نگاه‬ ‫سادگی‬ ‫به‬ ‫گاهی‬ ‫طراحی‬‫د‬
‫کیبورد‬ ‫دادن‬ ‫فشار‬ ‫به‬ ‫دارند‬ ‫عادت‬ ‫که‬ ‫کسانی‬(‫زدن‬ ‫کد‬ ‫جهت‬)‫ا‬ ‫اتفاق‬ ‫لحظه‬‫فتادن‬
‫رسانند‬ ‫می‬ ‫پایان‬ ‫به‬ ‫رو‬ ‫کار‬ ‫ما‬ ‫های‬ ‫نیازمندی‬ ‫از‬ ‫متفاوت‬ ‫معموال‬ ‫مشکل‬ ‫یک‬.
‫قول‬ ‫نقل‬:
«‫ش‬ ، ‫کنید‬ ‫درک‬ ‫دوش‬ ‫گرفتن‬ ‫هنگام‬ ‫را‬ ‫مساله‬ ‫یک‬ ‫ساختار‬ ‫توانید‬ ‫نمی‬ ‫شما‬ ‫اگر‬‫کد‬ ‫برای‬ ‫ما‬
‫نیستید‬ ‫آماده‬ ‫آن‬ ‫کردن‬»Richard Pattis
http://www.ics.uci.edu/~pattis/
‫حل‬ ‫برای‬ ‫کمتر‬ ‫زمان‬ ، ‫مساله‬ ‫تحلیل‬ ‫برای‬ ‫بیشتر‬ ‫زمان‬‫آن‬
Don’t dismay yourself by looking at changing
technology world
‫نترسانید‬ ‫تکنولوژی‬ ‫دنیای‬ ‫تغییر‬ ‫از‬ ‫را‬ ‫خود‬
Read documentation
‫تعد‬ ‫مطالعه‬ ‫خوب‬ ‫نویس‬ ‫برنامه‬ ‫یک‬ ‫ضروری‬ ‫های‬ ‫عادت‬ ‫از‬ ‫یکی‬‫اد‬
‫باشد‬ ‫می‬ ‫ها‬ ‫مستند‬ ‫از‬ ‫زیادی‬
‫های‬ ‫سند‬ ‫مانند‬API‫و‬ ‫ها‬ ‫آموزش‬ ، ‫ها‬...
‫ا‬ ‫جهت‬ ‫را‬ ‫خوب‬ ‫ای‬ ‫پایه‬ ‫کند‬ ‫می‬ ‫کمک‬ ‫شما‬ ‫به‬ ‫ها‬ ‫مستند‬ ‫مطالعه‬‫یجاد‬
‫کنید‬ ‫ایجاد‬ ‫نحوه‬ ‫بهترین‬ ‫به‬ ‫خود‬ ‫برنامه‬
‫ها‬ ‫مستند‬ ‫مطالعه‬
Practice & make Mistakes
‫کنید‬ ‫اشتباه‬ ‫زنی‬ ‫کد‬ ‫بهبود‬ ‫کنار‬ ‫در‬ ‫تمرین‬ ‫طول‬ ‫در‬ ‫و‬ ، ‫کنید‬ ‫تمرین‬!
‫در‬ ‫شما‬ ‫خطاهای‬ ‫بیشتر‬ ‫زدن‬ ‫کد‬ ‫با‬ ‫؟‬ ‫است‬ ‫مهم‬ ‫کردن‬ ‫اشتباه‬ ‫چرا‬error handling،
‫کشی‬ ‫نخ‬ ، ‫طراحی‬threading‫و‬...‫شود‬ ‫می‬ ‫محقق‬
‫م‬ ‫ارتقا‬ ‫را‬ ‫خود‬ ‫مهارت‬ ‫بیشتر‬ ‫تمرین‬ ‫با‬ ‫و‬ ‫یادمیگیرید‬ ‫اشتباهات‬ ‫این‬ ‫از‬ ‫شما‬‫دهید‬ ‫ی‬
‫اشتباه‬ ‫افتادن‬ ‫اتفاق‬ ‫و‬ ‫تمرین‬
Self learning from website and books
https://developers.google.com/‫نیست‬ ‫ما‬ ‫دسترس‬ ‫در‬ ‫معمول‬ ‫های‬ ‫روش‬ ‫طریق‬ ‫از‬ ‫البته‬!
https://www.codecademy.com/
https://code.org/learn
http://www.w3schools.com/
http://www.html5rocks.com/en/(‫اول‬ ‫مورد‬ ‫مانند‬) !
http://www.codeproject.com
https://groups.google.com/forum/#!overview
http://programmersheaven.com/
http://stackexchange.com/
‫ها‬ ‫کتاب‬ ‫و‬ ‫ها‬ ‫سایت‬ ‫وب‬ ‫طریق‬ ‫از‬ ‫یادگیری‬ ‫خود‬
Reflection
‫انعکاس‬
■‫ای‬ ‫ایجاد‬ ‫از‬ ‫توانید‬ ‫می‬ ‫چگونه‬ ‫ببنید‬ ‫و‬ ‫بازگشته‬ ‫عقب‬ ‫به‬ ‫باید‬ ‫کنید‬ ‫می‬ ‫طرف‬ ‫بر‬ ‫خود‬ ‫کد‬ ‫در‬ ‫را‬ ‫باگ‬ ‫یک‬ ‫که‬ ‫زمانی‬ ‫هر‬‫باگ‬ ‫ن‬/‫برای‬ ‫خطا‬
‫کنید‬ ‫گیری‬ ‫جلو‬ ‫آینده‬ ‫در‬ ‫و‬ ‫بار‬ ‫اولین‬
Learn from other programmers
‫کنید‬ ‫کار‬ ‫مختلف‬ ‫انواع‬ ‫با‬ ‫هایی‬ ‫پروژه‬ ‫در‬ ‫کنید‬ ‫سعی‬
‫بگیرید‬ ‫نظر‬ ‫در‬ ‫یادگیری‬ ‫متد‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫پروژه‬ ‫هر‬
‫ب‬ ‫که‬ ‫وظایفی‬ ‫روی‬ ‫بر‬ ‫کار‬ ‫و‬ ‫نویسان‬ ‫برنامه‬ ‫دیگر‬ ‫با‬ ‫کار‬ ‫و‬ ‫امن‬ ‫منطقه‬ ‫از‬ ‫خودتان‬ ‫انداختن‬ ‫بیرون‬ ‫طریق‬ ‫از‬‫ها‬ ‫آن‬ ‫ا‬
‫کنید‬ ‫ایجاد‬ ‫خود‬ ‫در‬ ‫را‬ ‫جدیدی‬ ‫های‬ ‫توناهایی‬ ‫ندارید‬ ‫آشنایی‬.
‫ت‬ ‫دهندگان‬ ‫توسعه‬ ‫و‬ ‫نویسان‬ ‫برنامه‬ ‫دیگر‬ ‫با‬ ‫را‬ ‫تایی‬ ‫دو‬ ‫نویسی‬ ‫برنامه‬ ‫آمد‬ ‫پیش‬ ‫شما‬ ‫برای‬ ‫فرصت‬ ‫اگر‬‫از‬ ‫تا‬ ‫کنید‬ ‫جربه‬
‫شد‬ ‫خواهید‬ ‫تیم‬ ‫برای‬ ‫بهتر‬ ‫عضو‬ ‫یک‬ ‫به‬ ‫تبدیل‬ ‫و‬ ‫ببخشید‬ ‫ارتقا‬ ‫را‬ ‫کد‬ ‫کیفیت‬ ‫طریق‬ ‫این‬
‫نویسان‬ ‫برنامه‬ ‫دیگر‬ ‫از‬ ‫یادگیری‬
Work on Open Source code
http://sourceforge.net/
https://github.com/
‫باز‬ ‫متن‬ ‫های‬ ‫کد‬ ‫روی‬ ‫بر‬ ‫کار‬
Read Code
‫بفهمید‬ ‫را‬ ‫ها‬ ‫آن‬ ‫عملکرد‬ ‫چگونگی‬ ‫کنید‬ ‫سعی‬ ، ‫باز‬ ‫متن‬ ‫های‬ ‫کد‬ ‫روی‬ ‫بر‬ ‫کار‬ ‫حال‬ ‫در‬
‫ببخشید‬ ‫توسعه‬ ‫را‬ ‫خود‬ ‫های‬ ‫توانایی‬ ‫و‬ ‫بگردید‬ ‫کد‬ ‫در‬ ‫موجود‬ ‫های‬ ‫الگو‬ ‫دنبال‬ ‫به‬
‫ادراک‬ ‫تدریج‬ ‫به‬ ‫طریق‬ ‫این‬ ‫از‬(‫شعور‬!‫فهم‬ ،!‫و‬)...‫بخشید‬ ‫می‬ ‫ارتقا‬ ‫را‬ ‫خود‬ ‫زنی‬ ‫کد‬
‫م‬ ‫اجازه‬ ‫شما‬ ‫به‬ ‫و‬ ‫شوید‬ ‫متوجه‬ ‫نباشد‬ ‫درست‬ ‫چیزی‬ ‫که‬ ‫هنگامی‬ ‫تا‬ ‫دهند‬ ‫می‬ ‫اجازه‬ ‫شما‬ ‫به‬ ‫زنی‬ ‫کد‬ ‫ادراک‬ ‫توسعه‬‫تا‬ ‫دهد‬ ‫ی‬
‫نمایید‬ ‫برطرف‬ ‫را‬ ‫ها‬ ‫آن‬ ‫دهد‬ ‫می‬ ‫اجازه‬ ‫و‬ ‫کنید‬ ‫کشف‬ ‫را‬ ‫ها‬ ‫گپ‬ ‫و‬ ‫ها‬ ‫خطا‬
‫کد‬ ‫خواندن‬!
Master the programming language(s) that you use or be the Jack
of all trades…master of none
‫دارد‬ ‫وجود‬ ‫هست‬ ‫اجرا‬ ‫قابل‬ ‫نویسان‬ ‫برنامه‬ ‫و‬ ‫دهندگان‬ ‫توسعه‬ ‫برای‬ ‫دو‬ ‫هر‬ ‫که‬ ‫گزینه‬ ‫دو‬ ‫جا‬ ‫این‬ ‫در‬:
.‫زبان‬ ‫این‬ ‫در‬ ‫بودن‬ ‫بهترین‬ ‫و‬ ‫جاوا‬ ‫مانند‬ ‫خاص‬ ‫نویسی‬ ‫برنامه‬ ‫زبان‬ ‫یک‬ ‫روی‬ ‫بر‬ ‫تسلط‬ ‫بر‬ ‫تمرکز‬ 1
.‫چند‬ ‫یک‬ ‫تواند‬ ‫می‬ ‫که‬ ‫نویسی‬ ‫برنامه‬ ‫های‬ ‫استاندارد‬ ‫و‬ ‫تکنولوژی‬ ‫تغییر‬ ‫توانایی‬ 2-‫چ‬ ‫و‬ ‫باشد‬ ‫توانایی‬‫را‬ ‫زبان‬ ‫ند‬
‫باشد‬ ‫کاره‬ ‫هیچ‬ ‫و‬ ‫کاره‬ ‫همه‬ ‫و‬ ‫یادبگیرد‬.
‫کاره‬ ‫هیچ‬ ‫و‬ ‫کاره‬ ‫همه‬ ‫یا‬ ‫خود‬ ‫زمینه‬ ‫در‬ ‫بهترین‬!
Get Involved in Social media, communities, blogs and mailing
lists
‫است‬ ‫شده‬ ‫یادگیری‬ ‫قابل‬ ‫سادگی‬ ‫به‬ ‫تکنولوژی‬!‫خ‬ ‫کالس‬ ‫یک‬ ‫در‬ ‫نام‬ ‫ثبت‬ ‫به‬ ‫نیاز‬ ‫گذشته‬ ‫مانند‬ ‫دیگر‬‫همه‬ ‫و‬ ‫نیست‬ ‫اص‬
‫باشد‬ ‫می‬ ‫دسترس‬ ‫در‬ ‫نیاز‬ ‫مورد‬ ‫اطالعات‬
‫و‬ ‫بالگ‬ ، ‫آنالین‬ ‫اجتماعات‬ ،‫اجتماعی‬ ‫های‬ ‫رسانه‬ ‫در‬ ‫عضویت‬...‫هستند‬ ‫شروع‬ ‫برا‬ ‫خوبی‬ ‫های‬ ‫محل‬.
‫از‬ ‫استفاده‬http://stackoverflow.com/‫هستند‬ ‫مهم‬ ‫بسیار‬ ‫اجتماعات‬ ‫دیگر‬ ‫و‬ ‫ها‬ ‫فروم‬ ،.
‫شوید‬ ‫سهیم‬ ‫ها‬ ‫بالگ‬ ، ‫اجتماعات‬ ، ‫اجتماعی‬ ‫های‬ ‫رسانه‬ ‫در‬
Write a Unit Test
Unit Testing‫برنامه‬ ‫یک‬ ‫از‬ ‫تست‬ ‫قابل‬ ‫بخش‬ ‫کوچکترین‬ ‫که‬ ‫طوری‬ ‫به‬ ‫است‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫فرآیند‬ ‫یک‬،unit‫نامیده‬
‫شود‬ ‫می‬.
‫کنید‬ ‫تست‬ ‫را‬ ‫چیز‬ ‫همه‬!
‫نمایید‬ ‫وارد‬ ‫را‬ ‫سیستم‬ ‫انتظار‬ ‫مورد‬ ‫مقادیر‬ ‫و‬ ‫ها‬ ‫ورودی‬ ‫ابتدا‬
‫کنید‬ ‫امتحان‬ ‫را‬ ‫نیست‬ ‫معمول‬ ‫ولی‬ ‫بیافتد‬ ‫اتفاق‬ ‫هست‬ ‫ممکن‬ ‫که‬ ‫مقادیری‬ ‫سپس‬(‫مشخ‬ ‫پنهان‬ ‫های‬ ‫باگ‬‫میگردد‬ ‫ص‬)
‫تست‬ ‫هنر‬:‫شود‬ ‫زیر‬ ‫موارد‬ ‫شامل‬ ‫که‬ ‫دهید‬ ‫انجام‬ ‫ای‬ ‫گونه‬ ‫به‬ ‫را‬ ‫تست‬:
-‫افراط‬:‫و‬ ‫خالی‬ ‫رشته‬ ، ‫مثبت‬ ‫حداکثر‬ ‫مقادیر‬ ‫از‬ ‫فراتر‬ ‫و‬ ‫صفر‬null
-‫معنی‬ ‫بی‬ ‫مقادیر‬:‫باشد‬ ‫عجیب‬ ‫نهایی‬ ‫کاربر‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫بگیرید‬ ‫نظر‬ ‫در‬ ‫را‬ ‫این‬!‫ب‬ ‫نظر‬ ‫در‬ ‫را‬ ‫چیز‬ ‫همه‬‫گیرید‬
-‫صحیح‬ ‫غیر‬ ‫مقادیر‬:‫و‬ ‫تقسیم‬ ‫در‬ ‫صفر‬...
‫تست‬
Do a Code review and send your code review to others to critic
‫باشد‬ ‫می‬ ‫مهم‬ ‫بسیار‬ ‫کد‬ ‫بازبینی‬ ‫یک‬ ‫انجام‬.
‫دری‬ ‫طریق‬ ‫از‬ ‫و‬ ‫بخشید‬ ‫می‬ ‫بهبود‬ ‫را‬ ‫خود‬ ‫نویسی‬ ‫کد‬ ‫ادراک‬ ‫شما‬ ‫بازبینی‬ ‫هنگام‬‫افت‬
‫کنید‬ ‫می‬ ‫کمک‬ ‫بهبودشان‬ ‫جهت‬ ‫دیگران‬ ‫به‬ ‫همزمان‬ ‫دیگران‬ ‫از‬ ‫بازخورد‬
‫ب‬ ‫را‬ ‫زیادی‬ ‫زمان‬ ‫اینکه‬ ‫دلیل‬ ‫به‬ ‫کنید‬ ‫می‬ ‫کار‬ ‫کد‬ ‫یک‬ ‫روی‬ ‫بر‬ ‫شما‬ ‫که‬ ‫هنگامی‬‫آن‬ ‫روی‬ ‫ر‬
‫سرحال‬ ‫چشم‬ ‫جفت‬ ‫یک‬ ‫و‬ ‫نمیبرید‬ ‫پی‬ ‫خودتان‬ ‫اشتباهات‬ ‫به‬ ‫میدهید‬ ‫قرار‬!‫توان‬‫کشف‬ ‫ایی‬
‫دارد‬ ‫را‬ ‫ها‬ ‫آن‬.
‫کن‬ ‫ارسال‬ ‫نقد‬ ‫جهت‬ ‫دیگران‬ ‫به‬ ‫را‬ ‫بازبینی‬ ‫این‬ ‫و‬ ‫نمایید‬ ‫بازبینی‬ ‫را‬ ‫کد‬‫ید‬
Explore
‫باشیم‬ ‫اکشتاف‬ ‫دنبال‬ ‫به‬ ‫ها‬ ‫اپلیکیشن‬ ، ‫عامل‬ ‫های‬ ‫سیستم‬ ، ‫ها‬ ‫افزار‬ ‫نرم‬ ‫بار‬ ‫کار‬ ‫در‬!
‫برن‬ ‫با‬ ‫خاصی‬ ‫ارتباط‬ ‫خود‬ ‫خودی‬ ‫به‬ ‫اگرچه‬ ‫کار‬ ‫سرعت‬ ‫بهبود‬ ‫جهت‬ ‫میانبر‬ ‫های‬ ‫کلید‬ ‫کردن‬ ‫پیدا‬ ‫مثال‬ ‫طور‬ ‫به‬‫نویسی‬ ‫امه‬
‫کند‬ ‫می‬ ‫کمک‬ ‫نویسی‬ ‫برنامه‬ ‫ادراک‬ ‫بردن‬ ‫باال‬ ‫به‬ ‫اما‬ ‫ندارد‬
‫اکتشاف‬
Search
‫مانند‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫های‬ ‫سیستم‬ ‫اکثر‬ ‫در‬visual studio‫های‬ ‫سیستم‬ ‫همینطور‬ ‫و‬
‫مانند‬ ‫داده‬ ‫پایگاه‬ ‫مدیریت‬MSSQL Server‫نمایش‬ ‫نیز‬ ‫خطا‬ ‫کد‬ ، ‫خطا‬ ‫بروز‬ ‫هنگام‬
‫ه‬ ‫آن‬ ‫از‬ ‫تعدادی‬ ‫که‬ ‫معتبری‬ ‫پایگاه‬ ‫در‬ ‫ساده‬ ‫جستجوی‬ ‫یک‬ ‫با‬ ‫که‬ ‫شود‬ ‫می‬ ‫داده‬‫گفته‬ ‫ا‬
‫گردد‬ ‫می‬ ‫طرف‬ ‫بر‬ ‫مشکل‬ ‫شد‬.
‫شای‬ ‫بدهید‬ ‫شرح‬ ‫خود‬ ‫برای‬ ‫یکبار‬ ‫را‬ ‫مساله‬ ، ‫مشکل‬ ‫حل‬ ‫برای‬ ‫جستجو‬ ‫از‬ ‫قبل‬‫حل‬ ‫راه‬ ‫د‬
‫باشد‬ ‫نقصی‬ ‫داری‬ ‫شما‬ ‫انتخابی‬.
‫راه‬ ‫بهترین‬ ‫حل‬ ‫راه‬ ‫ترین‬ ‫پیچیده‬ ، ‫نیست‬ ‫حل‬ ‫راه‬ ‫ترین‬ ‫ساده‬ ‫حل‬ ‫راه‬ ‫بهترین‬‫حل‬
‫نیست‬!
‫کنیم‬ ‫جستجو‬ ‫چگونه‬
Don’t compare yourself with others
‫گر‬ ‫می‬ ‫منفی‬ ‫احساس‬ ‫ایجاد‬ ‫سبب‬ ‫فقط‬ ‫دیگران‬ ‫با‬ ‫خود‬ ‫مقایسه‬‫دد‬
‫دارد‬ ‫را‬ ‫خود‬ ‫به‬ ‫مخصوص‬ ‫های‬ ‫ضعف‬ ‫و‬ ‫ها‬ ‫توانایی‬ ‫کس‬ ‫هر‬
‫کا‬ ‫خود‬ ‫روی‬ ‫و‬ ‫بشناسیم‬ ‫را‬ ‫خود‬ ‫ما‬ ‫که‬ ‫است‬ ‫این‬ ‫مساله‬ ‫مهمترین‬‫کنیم‬ ‫ر‬
‫افراد‬ ‫که‬ ‫است‬ ‫شده‬ ‫دیده‬ ‫بارها‬fundoo-programmers‫برنامه‬ ‫یا‬
‫اند‬ ‫داده‬ ‫انجام‬ ‫احقمانه‬ ‫اشتباهات‬ ‫قوی‬ ‫اساسا‬ ‫نویسان‬
‫ل‬ ‫ببخشید‬ ‫بهبود‬ ‫توانید‬ ‫می‬ ‫که‬ ‫نواحی‬ ، ‫کنید‬ ‫تحلیل‬ ‫را‬ ‫خود‬‫کنید‬ ‫یست‬
‫کنید‬ ‫کار‬ ‫ها‬ ‫ان‬ ‫روی‬ ‫بر‬ ‫و‬.
‫نکنیم‬ ‫مقایسه‬ ‫دیگران‬ ‫با‬ ‫را‬ ‫خود‬
Practice, practice, practice
‫نیست‬ ‫راکد‬ ‫رشته‬ ‫یک‬ ‫نویسی‬ ‫برنامه‬!
‫باشن‬ ‫داشته‬ ‫وجود‬ ‫مجدد‬ ‫یادگیری‬ ‫برای‬ ‫چیزهایی‬ ‫آن‬ ‫از‬ ‫مهمتر‬ ‫شاید‬ ‫و‬ ‫یادگیری‬ ‫برای‬ ‫جدید‬ ‫های‬ ‫چیز‬ ‫همیشه‬‫د‬
Any fool can write code that a computer can
understand. Good programmers write code
that humans can understand. ~Martin Fowler
Martin Fowler
Publications
1996. Analysis Patterns: Reusable Object Models. Addison-Wesley. ISBN 0-201-89542-0.
1997. UML Distilled: A Brief Guide to the Standard Object Modeling Language. Addison-Wesley. ISBN 978-0-201-32563-8.
1999. Refactoring: Improving the Design of Existing Code, With Kent Beck, John Brant, William Opdyke, and Don Roberts (June
1999). Addison-Wesley. ISBN 0-201-48567-2.
2000. Planning Extreme Programming. With Kent Beck. Addison-Wesley. ISBN 0-201-71091-9.
2002. Patterns of Enterprise Application Architecture. With David Rice, Matthew Foemmel, Edward Hieatt, Robert Mee, and Randy
Stafford. Addison-Wesley. ISBN 0-321-12742-0.
2010. Domain-Specific Languages. With Rebecca Parsons. Addison-Wesley. ISBN 978-0-321-71294-3.
2012. NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. With Pramod Sadalage. Addison-
Wesley. ISBN 978-0-321-82662-6.
2013. Refactoring: Ruby Edition. With Kent Beck, Shane Harvie, and Jay Fields. Addison-Wesley. ISBN 978-0-321-98413-5.
Programming is a real fun, enjoy it
‫منابع‬
https://blog.idrsolutions.com/2014/07/top-11-ways-better-developer-programmer/
http://searchsoftwarequality.techtarget.com/definition/unit-testing
http://gettingthingsdone.com/
https://dzone.com/articles/10-effective-ways-become-good
https://en.wikipedia.org/wiki/Hungarian_notation
‫شم‬ ‫توجه‬ ‫از‬ ‫تشکر‬‫ا‬

More Related Content

Viewers also liked

La física ..
La física ..La física ..
La física ..paituumix
 
Creating stories with Technology
Creating stories with TechnologyCreating stories with Technology
Creating stories with TechnologyRjohnsoninak
 
Claire barroisparisiengrévin
Claire barroisparisiengrévinClaire barroisparisiengrévin
Claire barroisparisiengrévincbarrois
 
PWN2PLY user manual
PWN2PLY user manualPWN2PLY user manual
PWN2PLY user manualEric Ogier
 
Cryptocurrencies, Blockchain & Smart Contracts: The New Wave of Decentralizat...
Cryptocurrencies, Blockchain & Smart Contracts: The New Wave of Decentralizat...Cryptocurrencies, Blockchain & Smart Contracts: The New Wave of Decentralizat...
Cryptocurrencies, Blockchain & Smart Contracts: The New Wave of Decentralizat...Raffaele Mauro
 

Viewers also liked (7)

La física ..
La física ..La física ..
La física ..
 
Creating stories with Technology
Creating stories with TechnologyCreating stories with Technology
Creating stories with Technology
 
Claire barroisparisiengrévin
Claire barroisparisiengrévinClaire barroisparisiengrévin
Claire barroisparisiengrévin
 
Тварини синоптики
Тварини синоптикиТварини синоптики
Тварини синоптики
 
Ембріогенез людини
Ембріогенез людиниЕмбріогенез людини
Ембріогенез людини
 
PWN2PLY user manual
PWN2PLY user manualPWN2PLY user manual
PWN2PLY user manual
 
Cryptocurrencies, Blockchain & Smart Contracts: The New Wave of Decentralizat...
Cryptocurrencies, Blockchain & Smart Contracts: The New Wave of Decentralizat...Cryptocurrencies, Blockchain & Smart Contracts: The New Wave of Decentralizat...
Cryptocurrencies, Blockchain & Smart Contracts: The New Wave of Decentralizat...
 

Similar to How to be a better Developer & Programmer

Design Patterns چیست و به چه دردی می خورد؟ (persian)
Design Patterns  چیست و به چه دردی می خورد؟ (persian)Design Patterns  چیست و به چه دردی می خورد؟ (persian)
Design Patterns چیست و به چه دردی می خورد؟ (persian)Mahmoud Masih Tehrani
 
افسانه مستندسازی در پروژه‌های نرم‌افزاری
افسانه مستندسازی در پروژه‌های نرم‌افزاریافسانه مستندسازی در پروژه‌های نرم‌افزاری
افسانه مستندسازی در پروژه‌های نرم‌افزاریWeb Standards School
 
چرا نود.جی اس؟
چرا نود.جی اس؟چرا نود.جی اس؟
چرا نود.جی اس؟Masoud Sharifi
 
کتاب الکترونیک تجربه‌های یک برنامه‌نویس جوان
کتاب الکترونیک تجربه‌های یک برنامه‌نویس جوانکتاب الکترونیک تجربه‌های یک برنامه‌نویس جوان
کتاب الکترونیک تجربه‌های یک برنامه‌نویس جوانFarshad Gohari
 
Mantaraham Present
Mantaraham PresentMantaraham Present
Mantaraham PresentAmir Shokri
 
Scalable javascript application - طراحی نرم افزارهای مقیاس پذیر با جاوا اسکریپت
Scalable javascript application -  طراحی نرم افزارهای مقیاس پذیر با جاوا اسکریپتScalable javascript application -  طراحی نرم افزارهای مقیاس پذیر با جاوا اسکریپت
Scalable javascript application - طراحی نرم افزارهای مقیاس پذیر با جاوا اسکریپتefazati
 
یکی از بزرگ‌ترین مشکلات OOP اینه که اتفاق نظر بر سر اینکه OOP دقیقا چه چیزی ه...
یکی از بزرگ‌ترین مشکلات OOP اینه که اتفاق نظر بر سر اینکه OOP دقیقا چه چیزی ه...یکی از بزرگ‌ترین مشکلات OOP اینه که اتفاق نظر بر سر اینکه OOP دقیقا چه چیزی ه...
یکی از بزرگ‌ترین مشکلات OOP اینه که اتفاق نظر بر سر اینکه OOP دقیقا چه چیزی ه...SaeedAsghari5
 
http://seofirstpage.ir-هانیه غفرانی-آموزش سئو سایت
http://seofirstpage.ir-هانیه غفرانی-آموزش سئو سایتhttp://seofirstpage.ir-هانیه غفرانی-آموزش سئو سایت
http://seofirstpage.ir-هانیه غفرانی-آموزش سئو سایتHanieh Ghofrani
 
Software Fault Avoidance in Implementation
Software Fault Avoidance in ImplementationSoftware Fault Avoidance in Implementation
Software Fault Avoidance in ImplementationMorteza Zakeri
 
کارگاه آموزش مقدماتی طراحی واسط و تجربه کاربری UI/UX Desgin Workshop
کارگاه آموزش مقدماتی طراحی واسط و تجربه کاربری UI/UX Desgin Workshopکارگاه آموزش مقدماتی طراحی واسط و تجربه کاربری UI/UX Desgin Workshop
کارگاه آموزش مقدماتی طراحی واسط و تجربه کاربری UI/UX Desgin WorkshopEsmail MohammadiPanah
 
cloud-based authoring tools
cloud-based authoring toolscloud-based authoring tools
cloud-based authoring toolsdadyjoon71
 
Node js-&-express-hassan-tafreshi-persian-lan
Node js-&-express-hassan-tafreshi-persian-lanNode js-&-express-hassan-tafreshi-persian-lan
Node js-&-express-hassan-tafreshi-persian-lanHassan Tafreshi
 
رابط کاری / تجربه کاری (UI/UX)
رابط کاری / تجربه کاری (UI/UX)رابط کاری / تجربه کاری (UI/UX)
رابط کاری / تجربه کاری (UI/UX)Yousef Alipour
 

Similar to How to be a better Developer & Programmer (20)

Design Patterns چیست و به چه دردی می خورد؟ (persian)
Design Patterns  چیست و به چه دردی می خورد؟ (persian)Design Patterns  چیست و به چه دردی می خورد؟ (persian)
Design Patterns چیست و به چه دردی می خورد؟ (persian)
 
OSI Model vs TCP/IP Model
OSI Model vs TCP/IP Model OSI Model vs TCP/IP Model
OSI Model vs TCP/IP Model
 
افسانه مستندسازی در پروژه‌های نرم‌افزاری
افسانه مستندسازی در پروژه‌های نرم‌افزاریافسانه مستندسازی در پروژه‌های نرم‌افزاری
افسانه مستندسازی در پروژه‌های نرم‌افزاری
 
چرا نود.جی اس؟
چرا نود.جی اس؟چرا نود.جی اس؟
چرا نود.جی اس؟
 
Scrum
ScrumScrum
Scrum
 
کتاب الکترونیک تجربه‌های یک برنامه‌نویس جوان
کتاب الکترونیک تجربه‌های یک برنامه‌نویس جوانکتاب الکترونیک تجربه‌های یک برنامه‌نویس جوان
کتاب الکترونیک تجربه‌های یک برنامه‌نویس جوان
 
Mantaraham Present
Mantaraham PresentMantaraham Present
Mantaraham Present
 
Scalable javascript application - طراحی نرم افزارهای مقیاس پذیر با جاوا اسکریپت
Scalable javascript application -  طراحی نرم افزارهای مقیاس پذیر با جاوا اسکریپتScalable javascript application -  طراحی نرم افزارهای مقیاس پذیر با جاوا اسکریپت
Scalable javascript application - طراحی نرم افزارهای مقیاس پذیر با جاوا اسکریپت
 
Object-Oriented-Programming-in-Python
Object-Oriented-Programming-in-PythonObject-Oriented-Programming-in-Python
Object-Oriented-Programming-in-Python
 
Scrum Presentation
Scrum PresentationScrum Presentation
Scrum Presentation
 
یکی از بزرگ‌ترین مشکلات OOP اینه که اتفاق نظر بر سر اینکه OOP دقیقا چه چیزی ه...
یکی از بزرگ‌ترین مشکلات OOP اینه که اتفاق نظر بر سر اینکه OOP دقیقا چه چیزی ه...یکی از بزرگ‌ترین مشکلات OOP اینه که اتفاق نظر بر سر اینکه OOP دقیقا چه چیزی ه...
یکی از بزرگ‌ترین مشکلات OOP اینه که اتفاق نظر بر سر اینکه OOP دقیقا چه چیزی ه...
 
http://seofirstpage.ir-هانیه غفرانی-آموزش سئو سایت
http://seofirstpage.ir-هانیه غفرانی-آموزش سئو سایتhttp://seofirstpage.ir-هانیه غفرانی-آموزش سئو سایت
http://seofirstpage.ir-هانیه غفرانی-آموزش سئو سایت
 
Docker
DockerDocker
Docker
 
Software Fault Avoidance in Implementation
Software Fault Avoidance in ImplementationSoftware Fault Avoidance in Implementation
Software Fault Avoidance in Implementation
 
کارگاه آموزش مقدماتی طراحی واسط و تجربه کاربری UI/UX Desgin Workshop
کارگاه آموزش مقدماتی طراحی واسط و تجربه کاربری UI/UX Desgin Workshopکارگاه آموزش مقدماتی طراحی واسط و تجربه کاربری UI/UX Desgin Workshop
کارگاه آموزش مقدماتی طراحی واسط و تجربه کاربری UI/UX Desgin Workshop
 
cloud-based authoring tools
cloud-based authoring toolscloud-based authoring tools
cloud-based authoring tools
 
Pg autoscaling in ceph
Pg autoscaling in  cephPg autoscaling in  ceph
Pg autoscaling in ceph
 
Node js-&-express-hassan-tafreshi-persian-lan
Node js-&-express-hassan-tafreshi-persian-lanNode js-&-express-hassan-tafreshi-persian-lan
Node js-&-express-hassan-tafreshi-persian-lan
 
Jarsaziamuzesh
JarsaziamuzeshJarsaziamuzesh
Jarsaziamuzesh
 
رابط کاری / تجربه کاری (UI/UX)
رابط کاری / تجربه کاری (UI/UX)رابط کاری / تجربه کاری (UI/UX)
رابط کاری / تجربه کاری (UI/UX)
 

How to be a better Developer & Programmer

  • 1. how to be a better Developer & Programmer ‫باش‬ ‫بهتر‬ ‫نویس‬ ‫برنامه‬ ‫و‬ ‫دهنده‬ ‫توسعه‬ ‫یک‬ ‫چگونه‬‫یم‬ ‫رزبن‬ ‫شرکت‬-‫مرداد‬95
  • 2. Passion ‫نوش‬ ‫خودتان‬ ‫که‬ ‫کدی‬ ‫خطوط‬ ‫از‬ ‫و‬ ‫نشسته‬ ‫سیستم‬ ‫جلوی‬ ‫روز‬ ‫یک‬ ‫برای‬ ‫تا‬ ‫ندارید‬ ‫عالقه‬ ‫شما‬ ‫اگر‬‫لذت‬ ‫اید‬ ‫ته‬ ‫نمی‬ ‫شما‬ ‫مناسب‬ ‫مهارت‬ ‫این‬ ‫ببرید‬‫باشد‬ ‫شود‬ ‫می‬ ‫فرسا‬ ‫طاقت‬ ‫امری‬ ‫کردن‬ ‫تمرین‬ ‫باشید‬ ‫نداشته‬ ‫عالقه‬ ‫کاری‬ ‫به‬ ‫شما‬ ‫اگر‬ ‫برنام‬ ‫یک‬ ‫برای‬ ‫مساله‬ ‫این‬ ‫کن‬ ‫تمرین‬ ‫که‬ ‫شود‬ ‫گفته‬ ‫خوب‬ ‫گیتاریست‬ ‫یک‬ ‫به‬ ‫نیست‬ ‫نیازی‬ ‫که‬ ‫میدانند‬ ‫همه‬‫هم‬ ‫خوب‬ ‫نویس‬ ‫ه‬ ‫دارد‬ ‫مصداق‬ ، ‫نیست‬ ‫ضروی‬ ‫کردن‬ ‫تمرین‬ ‫که‬ ‫است‬ ‫این‬ ‫اصلی‬ ‫کلید‬‫تمرین‬ ‫خواستن‬‫است‬ ‫مهم‬ ‫شود‬ ‫آن‬ ‫از‬ ‫استفاده‬ ‫و‬ ‫گیتار‬ ‫برداشتن‬ ‫و‬ ‫خانه‬ ‫به‬ ‫بازگشت‬ ‫منتظر‬ ‫تواند‬ ‫نمی‬ ‫خوب‬ ‫گیتاریست‬ ‫یک‬ ‫شود‬ ‫بعدی‬ ‫زنی‬ ‫کد‬ ‫چالش‬ ‫کشف‬ ‫منتظر‬ ‫تواند‬ ‫نمی‬ ‫خوب‬ ‫نویس‬ ‫برنامه‬ ‫یک‬ ‫ترتیب‬ ‫همین‬ ‫به‬ ‫اشتیاق‬ ‫و‬ ‫شور‬
  • 3. Persistence ‫ش‬ ‫ایجاد‬ ‫نت‬ ‫یک‬ ‫تا‬ ‫گذارد‬ ‫می‬ ‫وقت‬ ‫خود‬ ‫کار‬ ‫روی‬ ‫بر‬ ‫ها‬ ‫روز‬ ‫و‬ ‫ها‬ ‫ساعت‬ ‫که‬ ‫گیتاریست‬ ‫یک‬ ‫مانند‬‫برنامه‬ ‫ود‬ ‫نشود‬ ‫ناامید‬ ‫و‬ ‫کند‬ ‫تالش‬ ‫خود‬ ‫مشکل‬ ‫حل‬ ‫برای‬ ‫ها‬ ‫بار‬ ‫و‬ ‫ها‬ ‫بار‬ ‫بتواند‬ ‫باید‬ ‫هم‬ ‫نویس‬ ‫پافشاری‬
  • 4. Improve Your English Language ‫کنید‬ ‫تقویت‬ ‫را‬ ‫خود‬ ‫انگلیسی‬ ‫زبان‬
  • 5. Work on Basics ‫است‬ ‫موفقیت‬ ‫کلیدی‬ ‫نکته‬ ‫مفاهیم‬ ‫فهم‬ ‫شغلی‬ ‫و‬ ‫صنعت‬ ‫هر‬ ‫برای‬ ‫بود‬ ‫نخواهد‬ ‫موفق‬ ‫نویس‬ ‫برنامه‬ ‫یک‬ ‫هیچگاه‬ ‫باشد‬ ‫نداشته‬ ‫قوی‬ ‫مفاهیم‬ ‫های‬ ‫دریافت‬ ‫کسی‬ ‫که‬ ‫وقتی‬ ‫تا‬ ‫اصلی‬ ‫مفاهیم‬ ‫فهم‬(core)‫کرد‬ ‫خواهد‬ ‫کمک‬ ‫ممکن‬ ‫زمان‬ ‫بهترین‬ ‫در‬ ‫حل‬ ‫راه‬ ‫بهترین‬ ‫سازی‬ ‫پیاده‬ ‫و‬ ‫طراحی‬ ‫در‬ ‫شما‬ ‫به‬ ‫بازگ‬ ‫برای‬ ‫هنوز‬ ‫دارد‬ ‫وجود‬ ‫شما‬ ‫نویسی‬ ‫برنامه‬ ‫زبان‬ ‫مفاهیم‬ ‫و‬ ‫کامپیوتر‬ ‫اصلی‬ ‫دانش‬ ‫بین‬ ‫ای‬ ‫فاصله‬ ‫هنوز‬ ‫اگر‬‫مطالعه‬ ‫و‬ ‫شت‬ ‫است‬ ‫نشده‬ ‫دیر‬ ‫ای‬ ‫پایه‬ ‫مفاهیم‬ ‫پایه‬ ‫تقویت‬
  • 6. You learn more by helping others ‫باشیم‬ ‫کمک‬ ‫نیازمند‬ ‫که‬ ‫کنیم‬ ‫می‬ ‫مراجعه‬ ‫ها‬ ‫گرو‬ ‫و‬ ‫ها‬ ‫فروم‬ ‫به‬ ‫زمانی‬ ‫ما‬ ‫اغلب‬ ‫است‬ ‫دیگران‬ ‫به‬ ‫کمک‬ ‫جهت‬ ‫ها‬ ‫مکان‬ ‫این‬ ‫مشاهده‬ ‫در‬ ‫خوب‬ ‫غیر‬ ‫و‬ ‫خوب‬ ‫نویس‬ ‫برنامه‬ ‫میان‬ ‫واضح‬ ‫کننده‬ ‫جدا‬ ‫یک‬ ‫کنند‬ ‫می‬ ‫کمک‬ ‫همدیگر‬ ‫به‬ ‫مشکالت‬ ‫حل‬ ‫در‬ ‫همه‬ ‫خوب‬ ‫تیم‬ ‫یک‬ ‫در‬ ‫میگیرید‬ ‫یاد‬ ‫دیگران‬ ‫به‬ ‫کمک‬ ‫با‬ ‫شما‬
  • 7. When you face an error i'm NOT ALONE
  • 8. When you see an application(web application or windows), tell yourself. it's technically possible for you to build a similar one. try to model it in your mind.
  • 9. Write a thorough implementation plan (or model). ‫نوشتن‬‫اجرایی‬ ‫طرح‬(‫مدل‬ ‫یا‬) ‫باشد‬ ‫ساده‬ ‫فلوچارت‬ ‫یک‬ ‫تواند‬ ‫می‬ ‫طرح‬ ‫این‬ ‫کوچک‬ ‫موارد‬ ‫برای‬ ‫کمک‬ ‫کوچک‬ ‫های‬ ‫ماژول‬ ‫به‬ ‫کار‬ ‫شکستن‬ ‫به‬ ‫میتواند‬ ‫طراحی‬ ‫این‬ ‫بزرگتر‬ ‫های‬ ‫پروژه‬ ‫برای‬‫در‬ ‫با‬ ‫کند‬ ‫زیر‬ ‫موارد‬ ‫گرفتن‬ ‫نظر‬: -‫دارد‬ ‫عهده‬ ‫بر‬ ‫ماژول‬ ‫هر‬ ‫را‬ ‫وظایفی‬ ‫چه‬ -‫شوند‬ ‫می‬ ‫جابجا‬ ‫ها‬ ‫ماژول‬ ‫میان‬ ‫چگونه‬ ‫ها‬ ‫داده‬ -‫شوند‬ ‫می‬ ‫استفاده‬ ‫ماژول‬ ‫هر‬ ‫داخل‬ ‫چگونه‬ ‫ها‬ ‫داده‬
  • 10. ‫بکش‬ ‫نفس‬! ‫ساعت‬ ‫دو‬ ‫از‬ ‫بیش‬ ‫کد‬ ‫یک‬ ‫منطق‬ ‫در‬ ‫اگر‬(‫دارد‬ ‫کد‬ ‫به‬ ‫بستگی‬ ‫البته‬) !!!‫کار‬ ‫کردید‬ ‫گیر‬‫متوقف‬ ‫را‬ ‫کنید‬ ‫امتحان‬ ‫مجدد‬ ‫و‬ ‫بخورید‬ ‫قهوه‬ ‫یا‬ ‫چای‬ ‫یک‬ ‫کنید‬ (‫شود‬ ‫می‬ ‫زده‬ ‫هم‬ ‫کد‬ ‫ها‬ ‫وقت‬ ‫بعضی‬ ‫قهوه‬ ‫و‬ ‫چای‬ ‫بین‬ ‫شده‬ ‫مشاهده‬ ‫بعضا‬) !
  • 11. Comment ‫کام‬ ‫هست‬ ‫توضیح‬ ‫مند‬ ‫نیاز‬ ‫شما‬ ‫کد‬ ‫که‬ ‫بینید‬ ‫می‬ ‫اگر‬‫گذاری‬ ‫نت‬ ‫بدهید‬ ‫انجام‬ ‫های‬ ‫آرگومان‬ ‫درباره‬ ‫توضیح‬ ‫خط‬ ‫دو‬ ‫یا‬ ‫یک‬ ‫باید‬ ‫تابع‬ ‫هر‬ ‫باشد‬ ‫داشته‬ ‫خروجی‬ ‫و‬ ‫ورودی‬ ‫کنید‬ ‫بروز‬ ، ‫شد‬ ‫بروز‬ ‫کد‬ ‫که‬ ‫هنگامی‬ ‫را‬ ‫کامنت‬!!
  • 12. Use consistent naming conventions for variables ‫متغ‬ ‫نوع‬ ‫تا‬ ‫کند‬ ‫می‬ ‫کمک‬ ‫شما‬ ‫به‬ ‫گذاری‬ ‫نام‬ ‫شیوه‬ ‫این‬‫را‬ ‫ها‬ ‫یر‬ ‫کنید‬ ‫دنبال‬ ‫ن‬ ‫که‬ ‫است‬ ‫مجارستانی‬ ‫نمایش‬ ‫متداول‬ ‫های‬ ‫شیوه‬ ‫از‬ ‫یکی‬‫ام‬ ‫متغیر‬ ‫نوع‬ ‫پیشوند‬ ‫با‬ ‫متغیر‬ ‫گردد‬ ‫می‬ ‫ادغام‬: intRowCounter‫متغیر‬integer strUserName‫متغیر‬stiring ‫ها‬ ‫متغیر‬ ‫برای‬ ‫سازگار‬ ‫گذارس‬ ‫نام‬ ‫قواعد‬
  • 13. ‫کد‬ ‫دهی‬ ‫سازمان‬Organize your code ‫استف‬ ‫کد‬ ‫های‬ ‫ساختار‬ ‫جداکردن‬ ‫جهت‬ ‫بصری‬ ‫های‬ ‫ساختار‬ ‫از‬‫اده‬ ‫کنید‬ ‫بیاندازید‬ ‫فاصله‬ ‫اسپیس‬ ‫با‬ ‫مقادیر‬ ‫و‬ ‫ها‬ ‫متغیر‬ ‫بین‬ ‫مخص‬ ‫صرفا‬ ‫های‬ ‫کد‬ ‫از‬ ‫را‬ ‫مجدد‬ ‫استفاده‬ ‫قابلیت‬ ‫با‬ ‫های‬ ‫کد‬‫ص‬ ‫نمای‬ ‫استفاده‬ ‫ها‬ ‫آن‬ ‫از‬ ‫بتوانید‬ ‫بعدا‬ ‫تا‬ ‫کنید‬ ‫جدا‬ ‫برنامه‬‫این‬ ‫ید‬ ‫تسر‬ ‫را‬ ‫بعدی‬ ‫های‬ ‫برنامه‬ ‫نوشتن‬ ‫نیز‬ ‫و‬ ‫برنامه‬ ‫تست‬ ‫کار‬‫یع‬ ‫بخشد‬ ‫می‬ ‫بودن‬ ‫زیبا‬ ‫برای‬ ‫نه‬ ‫بنویسد‬ ‫زیبا‬ ‫را‬ ‫خود‬ ‫ی‬ ‫ها‬ ‫کد‬!‫ج‬ ‫بلکه‬‫باال‬ ‫هت‬ ‫ب‬ ‫دیگر‬ ‫ماه‬ ‫شش‬ ‫است‬ ‫ممکن‬ ‫وقتی‬ ‫امر‬ ‫این‬ ‫خوانایی‬ ‫رفتن‬‫کد‬ ‫ه‬ ‫گردد‬ ‫می‬ ‫تر‬ ‫ضروری‬ ‫کنید‬ ‫پیدا‬ ‫نیاز‬!
  • 14. Write simple, understandable but logical code ‫بگیر‬ ‫کوتاه‬ ‫و‬ ‫ساده‬ ‫فرمول‬ ‫زندگی‬ ‫های‬ ‫جنبه‬ ‫همه‬ ‫مانند‬(keep it simple and short)‫برقرار‬ ‫نیز‬ ‫نویسی‬ ‫برنامه‬ ‫در‬ ‫هست‬ ‫بنویسید‬ ‫پیچیدگی‬ ‫بدون‬ ‫و‬ ‫منطقی‬ ‫را‬ ‫کد‬ ‫نویسند‬ ‫می‬ ‫خود‬ ‫های‬ ‫توانایی‬ ‫نمایش‬ ‫جهت‬ ‫صرفا‬ ‫را‬ ‫پیچیده‬ ‫های‬ ‫کد‬ ‫افراد‬ ‫مواقع‬ ‫از‬ ‫بعضی‬ ‫کنند‬ ‫می‬ ‫کار‬ ‫خوبی‬ ‫به‬ ‫همیشه‬ ‫منطقی‬ ‫و‬ ‫ساده‬ ‫های‬ ‫کد‬ ‫است‬ ‫داده‬ ‫نشاند‬ ‫تجربه‬ ‫جالب‬ ‫قول‬ ‫نقل‬ ‫یک‬: “‫کنید‬ ‫سوال‬ ‫خود‬ ‫از‬ ‫کنید‬ ‫اضافه‬ ‫را‬ ‫توضیحی‬ ‫خواهید‬ ‫می‬ ‫که‬ ‫هنگامی‬ ، ‫دارد‬ ‫را‬ ‫ها‬ ‫مستند‬ ‫بهترین‬ ‫خوب‬ ‫کد‬«‫من‬‫می‬ ‫چگونه‬ ‫نباشد‬ ‫توضیح‬ ‫این‬ ‫به‬ ‫نیازی‬ ‫که‬ ‫ببخشم‬ ‫بهبود‬ ‫را‬ ‫کد‬ ‫توانم‬»Steve McConnell https://en.wikipedia.org/wiki/Steve_McConnell ‫منطقی‬ ‫اما‬ ‫فهم‬ ‫قابل‬ ، ‫ساده‬
  • 15. Spend more time in analyzing the problem, you’ll need less time to fix it ‫بگذرانید‬ ‫آن‬ ‫حل‬ ‫راه‬ ‫طراحی‬ ‫و‬ ‫مساله‬ ‫تحلیل‬ ‫و‬ ‫فهم‬ ‫برای‬ ‫را‬ ‫بیشتری‬ ‫زمان‬ ‫نیست‬ ‫ها‬ ‫ابزار‬ ‫و‬ ‫سازی‬ ‫مدل‬ ‫های‬ ‫زبان‬ ‫از‬ ‫استفاده‬ ‫معنی‬ ‫به‬ ‫همیشه‬ ‫طراحی‬ ‫باش‬ ‫می‬ ‫ذهن‬ ‫در‬ ‫حل‬ ‫راه‬ ‫درباره‬ ‫تفکر‬ ‫و‬ ‫آسمان‬ ‫به‬ ‫نگاه‬ ‫سادگی‬ ‫به‬ ‫گاهی‬ ‫طراحی‬‫د‬ ‫کیبورد‬ ‫دادن‬ ‫فشار‬ ‫به‬ ‫دارند‬ ‫عادت‬ ‫که‬ ‫کسانی‬(‫زدن‬ ‫کد‬ ‫جهت‬)‫ا‬ ‫اتفاق‬ ‫لحظه‬‫فتادن‬ ‫رسانند‬ ‫می‬ ‫پایان‬ ‫به‬ ‫رو‬ ‫کار‬ ‫ما‬ ‫های‬ ‫نیازمندی‬ ‫از‬ ‫متفاوت‬ ‫معموال‬ ‫مشکل‬ ‫یک‬. ‫قول‬ ‫نقل‬: «‫ش‬ ، ‫کنید‬ ‫درک‬ ‫دوش‬ ‫گرفتن‬ ‫هنگام‬ ‫را‬ ‫مساله‬ ‫یک‬ ‫ساختار‬ ‫توانید‬ ‫نمی‬ ‫شما‬ ‫اگر‬‫کد‬ ‫برای‬ ‫ما‬ ‫نیستید‬ ‫آماده‬ ‫آن‬ ‫کردن‬»Richard Pattis http://www.ics.uci.edu/~pattis/ ‫حل‬ ‫برای‬ ‫کمتر‬ ‫زمان‬ ، ‫مساله‬ ‫تحلیل‬ ‫برای‬ ‫بیشتر‬ ‫زمان‬‫آن‬
  • 16. Don’t dismay yourself by looking at changing technology world ‫نترسانید‬ ‫تکنولوژی‬ ‫دنیای‬ ‫تغییر‬ ‫از‬ ‫را‬ ‫خود‬
  • 17. Read documentation ‫تعد‬ ‫مطالعه‬ ‫خوب‬ ‫نویس‬ ‫برنامه‬ ‫یک‬ ‫ضروری‬ ‫های‬ ‫عادت‬ ‫از‬ ‫یکی‬‫اد‬ ‫باشد‬ ‫می‬ ‫ها‬ ‫مستند‬ ‫از‬ ‫زیادی‬ ‫های‬ ‫سند‬ ‫مانند‬API‫و‬ ‫ها‬ ‫آموزش‬ ، ‫ها‬... ‫ا‬ ‫جهت‬ ‫را‬ ‫خوب‬ ‫ای‬ ‫پایه‬ ‫کند‬ ‫می‬ ‫کمک‬ ‫شما‬ ‫به‬ ‫ها‬ ‫مستند‬ ‫مطالعه‬‫یجاد‬ ‫کنید‬ ‫ایجاد‬ ‫نحوه‬ ‫بهترین‬ ‫به‬ ‫خود‬ ‫برنامه‬ ‫ها‬ ‫مستند‬ ‫مطالعه‬
  • 18. Practice & make Mistakes ‫کنید‬ ‫اشتباه‬ ‫زنی‬ ‫کد‬ ‫بهبود‬ ‫کنار‬ ‫در‬ ‫تمرین‬ ‫طول‬ ‫در‬ ‫و‬ ، ‫کنید‬ ‫تمرین‬! ‫در‬ ‫شما‬ ‫خطاهای‬ ‫بیشتر‬ ‫زدن‬ ‫کد‬ ‫با‬ ‫؟‬ ‫است‬ ‫مهم‬ ‫کردن‬ ‫اشتباه‬ ‫چرا‬error handling، ‫کشی‬ ‫نخ‬ ، ‫طراحی‬threading‫و‬...‫شود‬ ‫می‬ ‫محقق‬ ‫م‬ ‫ارتقا‬ ‫را‬ ‫خود‬ ‫مهارت‬ ‫بیشتر‬ ‫تمرین‬ ‫با‬ ‫و‬ ‫یادمیگیرید‬ ‫اشتباهات‬ ‫این‬ ‫از‬ ‫شما‬‫دهید‬ ‫ی‬ ‫اشتباه‬ ‫افتادن‬ ‫اتفاق‬ ‫و‬ ‫تمرین‬
  • 19. Self learning from website and books https://developers.google.com/‫نیست‬ ‫ما‬ ‫دسترس‬ ‫در‬ ‫معمول‬ ‫های‬ ‫روش‬ ‫طریق‬ ‫از‬ ‫البته‬! https://www.codecademy.com/ https://code.org/learn http://www.w3schools.com/ http://www.html5rocks.com/en/(‫اول‬ ‫مورد‬ ‫مانند‬) ! http://www.codeproject.com https://groups.google.com/forum/#!overview http://programmersheaven.com/ http://stackexchange.com/ ‫ها‬ ‫کتاب‬ ‫و‬ ‫ها‬ ‫سایت‬ ‫وب‬ ‫طریق‬ ‫از‬ ‫یادگیری‬ ‫خود‬
  • 20. Reflection ‫انعکاس‬ ■‫ای‬ ‫ایجاد‬ ‫از‬ ‫توانید‬ ‫می‬ ‫چگونه‬ ‫ببنید‬ ‫و‬ ‫بازگشته‬ ‫عقب‬ ‫به‬ ‫باید‬ ‫کنید‬ ‫می‬ ‫طرف‬ ‫بر‬ ‫خود‬ ‫کد‬ ‫در‬ ‫را‬ ‫باگ‬ ‫یک‬ ‫که‬ ‫زمانی‬ ‫هر‬‫باگ‬ ‫ن‬/‫برای‬ ‫خطا‬ ‫کنید‬ ‫گیری‬ ‫جلو‬ ‫آینده‬ ‫در‬ ‫و‬ ‫بار‬ ‫اولین‬
  • 21. Learn from other programmers ‫کنید‬ ‫کار‬ ‫مختلف‬ ‫انواع‬ ‫با‬ ‫هایی‬ ‫پروژه‬ ‫در‬ ‫کنید‬ ‫سعی‬ ‫بگیرید‬ ‫نظر‬ ‫در‬ ‫یادگیری‬ ‫متد‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫پروژه‬ ‫هر‬ ‫ب‬ ‫که‬ ‫وظایفی‬ ‫روی‬ ‫بر‬ ‫کار‬ ‫و‬ ‫نویسان‬ ‫برنامه‬ ‫دیگر‬ ‫با‬ ‫کار‬ ‫و‬ ‫امن‬ ‫منطقه‬ ‫از‬ ‫خودتان‬ ‫انداختن‬ ‫بیرون‬ ‫طریق‬ ‫از‬‫ها‬ ‫آن‬ ‫ا‬ ‫کنید‬ ‫ایجاد‬ ‫خود‬ ‫در‬ ‫را‬ ‫جدیدی‬ ‫های‬ ‫توناهایی‬ ‫ندارید‬ ‫آشنایی‬. ‫ت‬ ‫دهندگان‬ ‫توسعه‬ ‫و‬ ‫نویسان‬ ‫برنامه‬ ‫دیگر‬ ‫با‬ ‫را‬ ‫تایی‬ ‫دو‬ ‫نویسی‬ ‫برنامه‬ ‫آمد‬ ‫پیش‬ ‫شما‬ ‫برای‬ ‫فرصت‬ ‫اگر‬‫از‬ ‫تا‬ ‫کنید‬ ‫جربه‬ ‫شد‬ ‫خواهید‬ ‫تیم‬ ‫برای‬ ‫بهتر‬ ‫عضو‬ ‫یک‬ ‫به‬ ‫تبدیل‬ ‫و‬ ‫ببخشید‬ ‫ارتقا‬ ‫را‬ ‫کد‬ ‫کیفیت‬ ‫طریق‬ ‫این‬ ‫نویسان‬ ‫برنامه‬ ‫دیگر‬ ‫از‬ ‫یادگیری‬
  • 22. Work on Open Source code http://sourceforge.net/ https://github.com/ ‫باز‬ ‫متن‬ ‫های‬ ‫کد‬ ‫روی‬ ‫بر‬ ‫کار‬
  • 23. Read Code ‫بفهمید‬ ‫را‬ ‫ها‬ ‫آن‬ ‫عملکرد‬ ‫چگونگی‬ ‫کنید‬ ‫سعی‬ ، ‫باز‬ ‫متن‬ ‫های‬ ‫کد‬ ‫روی‬ ‫بر‬ ‫کار‬ ‫حال‬ ‫در‬ ‫ببخشید‬ ‫توسعه‬ ‫را‬ ‫خود‬ ‫های‬ ‫توانایی‬ ‫و‬ ‫بگردید‬ ‫کد‬ ‫در‬ ‫موجود‬ ‫های‬ ‫الگو‬ ‫دنبال‬ ‫به‬ ‫ادراک‬ ‫تدریج‬ ‫به‬ ‫طریق‬ ‫این‬ ‫از‬(‫شعور‬!‫فهم‬ ،!‫و‬)...‫بخشید‬ ‫می‬ ‫ارتقا‬ ‫را‬ ‫خود‬ ‫زنی‬ ‫کد‬ ‫م‬ ‫اجازه‬ ‫شما‬ ‫به‬ ‫و‬ ‫شوید‬ ‫متوجه‬ ‫نباشد‬ ‫درست‬ ‫چیزی‬ ‫که‬ ‫هنگامی‬ ‫تا‬ ‫دهند‬ ‫می‬ ‫اجازه‬ ‫شما‬ ‫به‬ ‫زنی‬ ‫کد‬ ‫ادراک‬ ‫توسعه‬‫تا‬ ‫دهد‬ ‫ی‬ ‫نمایید‬ ‫برطرف‬ ‫را‬ ‫ها‬ ‫آن‬ ‫دهد‬ ‫می‬ ‫اجازه‬ ‫و‬ ‫کنید‬ ‫کشف‬ ‫را‬ ‫ها‬ ‫گپ‬ ‫و‬ ‫ها‬ ‫خطا‬ ‫کد‬ ‫خواندن‬!
  • 24. Master the programming language(s) that you use or be the Jack of all trades…master of none ‫دارد‬ ‫وجود‬ ‫هست‬ ‫اجرا‬ ‫قابل‬ ‫نویسان‬ ‫برنامه‬ ‫و‬ ‫دهندگان‬ ‫توسعه‬ ‫برای‬ ‫دو‬ ‫هر‬ ‫که‬ ‫گزینه‬ ‫دو‬ ‫جا‬ ‫این‬ ‫در‬: .‫زبان‬ ‫این‬ ‫در‬ ‫بودن‬ ‫بهترین‬ ‫و‬ ‫جاوا‬ ‫مانند‬ ‫خاص‬ ‫نویسی‬ ‫برنامه‬ ‫زبان‬ ‫یک‬ ‫روی‬ ‫بر‬ ‫تسلط‬ ‫بر‬ ‫تمرکز‬ 1 .‫چند‬ ‫یک‬ ‫تواند‬ ‫می‬ ‫که‬ ‫نویسی‬ ‫برنامه‬ ‫های‬ ‫استاندارد‬ ‫و‬ ‫تکنولوژی‬ ‫تغییر‬ ‫توانایی‬ 2-‫چ‬ ‫و‬ ‫باشد‬ ‫توانایی‬‫را‬ ‫زبان‬ ‫ند‬ ‫باشد‬ ‫کاره‬ ‫هیچ‬ ‫و‬ ‫کاره‬ ‫همه‬ ‫و‬ ‫یادبگیرد‬. ‫کاره‬ ‫هیچ‬ ‫و‬ ‫کاره‬ ‫همه‬ ‫یا‬ ‫خود‬ ‫زمینه‬ ‫در‬ ‫بهترین‬!
  • 25. Get Involved in Social media, communities, blogs and mailing lists ‫است‬ ‫شده‬ ‫یادگیری‬ ‫قابل‬ ‫سادگی‬ ‫به‬ ‫تکنولوژی‬!‫خ‬ ‫کالس‬ ‫یک‬ ‫در‬ ‫نام‬ ‫ثبت‬ ‫به‬ ‫نیاز‬ ‫گذشته‬ ‫مانند‬ ‫دیگر‬‫همه‬ ‫و‬ ‫نیست‬ ‫اص‬ ‫باشد‬ ‫می‬ ‫دسترس‬ ‫در‬ ‫نیاز‬ ‫مورد‬ ‫اطالعات‬ ‫و‬ ‫بالگ‬ ، ‫آنالین‬ ‫اجتماعات‬ ،‫اجتماعی‬ ‫های‬ ‫رسانه‬ ‫در‬ ‫عضویت‬...‫هستند‬ ‫شروع‬ ‫برا‬ ‫خوبی‬ ‫های‬ ‫محل‬. ‫از‬ ‫استفاده‬http://stackoverflow.com/‫هستند‬ ‫مهم‬ ‫بسیار‬ ‫اجتماعات‬ ‫دیگر‬ ‫و‬ ‫ها‬ ‫فروم‬ ،. ‫شوید‬ ‫سهیم‬ ‫ها‬ ‫بالگ‬ ، ‫اجتماعات‬ ، ‫اجتماعی‬ ‫های‬ ‫رسانه‬ ‫در‬
  • 26. Write a Unit Test Unit Testing‫برنامه‬ ‫یک‬ ‫از‬ ‫تست‬ ‫قابل‬ ‫بخش‬ ‫کوچکترین‬ ‫که‬ ‫طوری‬ ‫به‬ ‫است‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫فرآیند‬ ‫یک‬،unit‫نامیده‬ ‫شود‬ ‫می‬. ‫کنید‬ ‫تست‬ ‫را‬ ‫چیز‬ ‫همه‬! ‫نمایید‬ ‫وارد‬ ‫را‬ ‫سیستم‬ ‫انتظار‬ ‫مورد‬ ‫مقادیر‬ ‫و‬ ‫ها‬ ‫ورودی‬ ‫ابتدا‬ ‫کنید‬ ‫امتحان‬ ‫را‬ ‫نیست‬ ‫معمول‬ ‫ولی‬ ‫بیافتد‬ ‫اتفاق‬ ‫هست‬ ‫ممکن‬ ‫که‬ ‫مقادیری‬ ‫سپس‬(‫مشخ‬ ‫پنهان‬ ‫های‬ ‫باگ‬‫میگردد‬ ‫ص‬) ‫تست‬ ‫هنر‬:‫شود‬ ‫زیر‬ ‫موارد‬ ‫شامل‬ ‫که‬ ‫دهید‬ ‫انجام‬ ‫ای‬ ‫گونه‬ ‫به‬ ‫را‬ ‫تست‬: -‫افراط‬:‫و‬ ‫خالی‬ ‫رشته‬ ، ‫مثبت‬ ‫حداکثر‬ ‫مقادیر‬ ‫از‬ ‫فراتر‬ ‫و‬ ‫صفر‬null -‫معنی‬ ‫بی‬ ‫مقادیر‬:‫باشد‬ ‫عجیب‬ ‫نهایی‬ ‫کاربر‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫بگیرید‬ ‫نظر‬ ‫در‬ ‫را‬ ‫این‬!‫ب‬ ‫نظر‬ ‫در‬ ‫را‬ ‫چیز‬ ‫همه‬‫گیرید‬ -‫صحیح‬ ‫غیر‬ ‫مقادیر‬:‫و‬ ‫تقسیم‬ ‫در‬ ‫صفر‬... ‫تست‬
  • 27. Do a Code review and send your code review to others to critic ‫باشد‬ ‫می‬ ‫مهم‬ ‫بسیار‬ ‫کد‬ ‫بازبینی‬ ‫یک‬ ‫انجام‬. ‫دری‬ ‫طریق‬ ‫از‬ ‫و‬ ‫بخشید‬ ‫می‬ ‫بهبود‬ ‫را‬ ‫خود‬ ‫نویسی‬ ‫کد‬ ‫ادراک‬ ‫شما‬ ‫بازبینی‬ ‫هنگام‬‫افت‬ ‫کنید‬ ‫می‬ ‫کمک‬ ‫بهبودشان‬ ‫جهت‬ ‫دیگران‬ ‫به‬ ‫همزمان‬ ‫دیگران‬ ‫از‬ ‫بازخورد‬ ‫ب‬ ‫را‬ ‫زیادی‬ ‫زمان‬ ‫اینکه‬ ‫دلیل‬ ‫به‬ ‫کنید‬ ‫می‬ ‫کار‬ ‫کد‬ ‫یک‬ ‫روی‬ ‫بر‬ ‫شما‬ ‫که‬ ‫هنگامی‬‫آن‬ ‫روی‬ ‫ر‬ ‫سرحال‬ ‫چشم‬ ‫جفت‬ ‫یک‬ ‫و‬ ‫نمیبرید‬ ‫پی‬ ‫خودتان‬ ‫اشتباهات‬ ‫به‬ ‫میدهید‬ ‫قرار‬!‫توان‬‫کشف‬ ‫ایی‬ ‫دارد‬ ‫را‬ ‫ها‬ ‫آن‬. ‫کن‬ ‫ارسال‬ ‫نقد‬ ‫جهت‬ ‫دیگران‬ ‫به‬ ‫را‬ ‫بازبینی‬ ‫این‬ ‫و‬ ‫نمایید‬ ‫بازبینی‬ ‫را‬ ‫کد‬‫ید‬
  • 28. Explore ‫باشیم‬ ‫اکشتاف‬ ‫دنبال‬ ‫به‬ ‫ها‬ ‫اپلیکیشن‬ ، ‫عامل‬ ‫های‬ ‫سیستم‬ ، ‫ها‬ ‫افزار‬ ‫نرم‬ ‫بار‬ ‫کار‬ ‫در‬! ‫برن‬ ‫با‬ ‫خاصی‬ ‫ارتباط‬ ‫خود‬ ‫خودی‬ ‫به‬ ‫اگرچه‬ ‫کار‬ ‫سرعت‬ ‫بهبود‬ ‫جهت‬ ‫میانبر‬ ‫های‬ ‫کلید‬ ‫کردن‬ ‫پیدا‬ ‫مثال‬ ‫طور‬ ‫به‬‫نویسی‬ ‫امه‬ ‫کند‬ ‫می‬ ‫کمک‬ ‫نویسی‬ ‫برنامه‬ ‫ادراک‬ ‫بردن‬ ‫باال‬ ‫به‬ ‫اما‬ ‫ندارد‬ ‫اکتشاف‬
  • 29. Search ‫مانند‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫های‬ ‫سیستم‬ ‫اکثر‬ ‫در‬visual studio‫های‬ ‫سیستم‬ ‫همینطور‬ ‫و‬ ‫مانند‬ ‫داده‬ ‫پایگاه‬ ‫مدیریت‬MSSQL Server‫نمایش‬ ‫نیز‬ ‫خطا‬ ‫کد‬ ، ‫خطا‬ ‫بروز‬ ‫هنگام‬ ‫ه‬ ‫آن‬ ‫از‬ ‫تعدادی‬ ‫که‬ ‫معتبری‬ ‫پایگاه‬ ‫در‬ ‫ساده‬ ‫جستجوی‬ ‫یک‬ ‫با‬ ‫که‬ ‫شود‬ ‫می‬ ‫داده‬‫گفته‬ ‫ا‬ ‫گردد‬ ‫می‬ ‫طرف‬ ‫بر‬ ‫مشکل‬ ‫شد‬. ‫شای‬ ‫بدهید‬ ‫شرح‬ ‫خود‬ ‫برای‬ ‫یکبار‬ ‫را‬ ‫مساله‬ ، ‫مشکل‬ ‫حل‬ ‫برای‬ ‫جستجو‬ ‫از‬ ‫قبل‬‫حل‬ ‫راه‬ ‫د‬ ‫باشد‬ ‫نقصی‬ ‫داری‬ ‫شما‬ ‫انتخابی‬. ‫راه‬ ‫بهترین‬ ‫حل‬ ‫راه‬ ‫ترین‬ ‫پیچیده‬ ، ‫نیست‬ ‫حل‬ ‫راه‬ ‫ترین‬ ‫ساده‬ ‫حل‬ ‫راه‬ ‫بهترین‬‫حل‬ ‫نیست‬! ‫کنیم‬ ‫جستجو‬ ‫چگونه‬
  • 30. Don’t compare yourself with others ‫گر‬ ‫می‬ ‫منفی‬ ‫احساس‬ ‫ایجاد‬ ‫سبب‬ ‫فقط‬ ‫دیگران‬ ‫با‬ ‫خود‬ ‫مقایسه‬‫دد‬ ‫دارد‬ ‫را‬ ‫خود‬ ‫به‬ ‫مخصوص‬ ‫های‬ ‫ضعف‬ ‫و‬ ‫ها‬ ‫توانایی‬ ‫کس‬ ‫هر‬ ‫کا‬ ‫خود‬ ‫روی‬ ‫و‬ ‫بشناسیم‬ ‫را‬ ‫خود‬ ‫ما‬ ‫که‬ ‫است‬ ‫این‬ ‫مساله‬ ‫مهمترین‬‫کنیم‬ ‫ر‬ ‫افراد‬ ‫که‬ ‫است‬ ‫شده‬ ‫دیده‬ ‫بارها‬fundoo-programmers‫برنامه‬ ‫یا‬ ‫اند‬ ‫داده‬ ‫انجام‬ ‫احقمانه‬ ‫اشتباهات‬ ‫قوی‬ ‫اساسا‬ ‫نویسان‬ ‫ل‬ ‫ببخشید‬ ‫بهبود‬ ‫توانید‬ ‫می‬ ‫که‬ ‫نواحی‬ ، ‫کنید‬ ‫تحلیل‬ ‫را‬ ‫خود‬‫کنید‬ ‫یست‬ ‫کنید‬ ‫کار‬ ‫ها‬ ‫ان‬ ‫روی‬ ‫بر‬ ‫و‬. ‫نکنیم‬ ‫مقایسه‬ ‫دیگران‬ ‫با‬ ‫را‬ ‫خود‬
  • 31. Practice, practice, practice ‫نیست‬ ‫راکد‬ ‫رشته‬ ‫یک‬ ‫نویسی‬ ‫برنامه‬! ‫باشن‬ ‫داشته‬ ‫وجود‬ ‫مجدد‬ ‫یادگیری‬ ‫برای‬ ‫چیزهایی‬ ‫آن‬ ‫از‬ ‫مهمتر‬ ‫شاید‬ ‫و‬ ‫یادگیری‬ ‫برای‬ ‫جدید‬ ‫های‬ ‫چیز‬ ‫همیشه‬‫د‬
  • 32. Any fool can write code that a computer can understand. Good programmers write code that humans can understand. ~Martin Fowler Martin Fowler Publications 1996. Analysis Patterns: Reusable Object Models. Addison-Wesley. ISBN 0-201-89542-0. 1997. UML Distilled: A Brief Guide to the Standard Object Modeling Language. Addison-Wesley. ISBN 978-0-201-32563-8. 1999. Refactoring: Improving the Design of Existing Code, With Kent Beck, John Brant, William Opdyke, and Don Roberts (June 1999). Addison-Wesley. ISBN 0-201-48567-2. 2000. Planning Extreme Programming. With Kent Beck. Addison-Wesley. ISBN 0-201-71091-9. 2002. Patterns of Enterprise Application Architecture. With David Rice, Matthew Foemmel, Edward Hieatt, Robert Mee, and Randy Stafford. Addison-Wesley. ISBN 0-321-12742-0. 2010. Domain-Specific Languages. With Rebecca Parsons. Addison-Wesley. ISBN 978-0-321-71294-3. 2012. NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. With Pramod Sadalage. Addison- Wesley. ISBN 978-0-321-82662-6. 2013. Refactoring: Ruby Edition. With Kent Beck, Shane Harvie, and Jay Fields. Addison-Wesley. ISBN 978-0-321-98413-5.
  • 33. Programming is a real fun, enjoy it
  • 35. ‫شم‬ ‫توجه‬ ‫از‬ ‫تشکر‬‫ا‬