موضوع مقاله: برنامه نویسی مثال محور | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # برنامه نویسی مثال محور | مقدمه: برنامه نویسی مثال محور یک رویکرد نسبت به توسعه ی نرم‌افزار است که به کاربران کمک می کند تا نرم‌افزار را با پیدا کردن و تغییر دادن مثال های کوچک به یک کل بزرگتر بسازند. | ## بخش 1: برنامه نویسی مثال محور | از طریق محیط توسعه یکپارچه(IDE) برای نشان دادن کد-مثال ها یا اسناد API مربوط به رفتار های کدنویسی ای که در IDE روی می دهد می توان به این رویکرد کمک کرد. تاکتیک های "قرض گیری" معمولا توسط برنامه نویسانی که IDE را برای مشکل یابی ترک می کنند از سورس های آنلاین مورد استفاده قرار می گیرند. هدف برنامه نویسی مثال-محور این است که زمانی که توسعه دهندگان برای حل مشکلاتشان در اینترنت سرچ می کنند را کاهش دهد. در حالت ایده آل، در برنامه نویسی مثال-محور، رابط کاربری بدون اینکه توسعه دهندگان IDE را ترک کنند، با مثال های ماژول کمک یکپارچه می شود. کاربرد این ویژگی محدود به متخصصان نیست، بلکه تازه کاران نیز از فواید یک پایگاه دانش یکپارچه بهره ی فراوان می برند بدون اینکه به جستجو کردن های مکرر در اینترنت رو بی آورند. آموزش ها ظرف چند ثانیه در اینترنت در دسترس است و بدین صورت طیف کسانی که آن را می نویسند وسیع تر می شود: طراحان، دانشمندان و سرگرمی جویان. طبق آمار 2012، سیزده میلیون نفر به عنوان بخشی از کارشان برنامه نویسی می کنند اما فقط سه میلیون از آن ها برنامه نویس حرفه ای و واقعی هستند. رواج ریپازیتوری(مخزن) های آنلاینِ کد، اسناد، بلاگ ها و انجمن ها، این توانایی را به برنامه نویسان می دهد تا با جستجو کردن، تغییر دادن و ترکیب کردن مثال ها، برنامه ها را به‌طور پشت سر هم بسازند. | ## بخش 2: برنامه نویسی مثال محور | در یک رویکرد فرصت طلبانه نسبت به برنامه نویسی که بر روی سرعت و آسانی توسعه به جای انسجام و نگهداشت پذیری کد متمرکز است، استفاده از اینترنت حیاتی است. استفاده ی وسیع و مشابهی از وب توسط برنامه نویسان، متخصصان و تازه کاران وجود دارد که از آن برای نمونه سازی، ایده پردازی و کشف و یافتن استفاده می کنند. برنامه نویسان برای توسعه ی سریع نرم‌افزار، برنامه نویسان معمولا سیستم های مختلف موجود را با یکدیگر ترکیب می کنند. به عنوان بخشی از این پروسه، برنامه نویسان معمولا باید به جستجوی اجزای مناسب بگردند و مهارت های جدید یاد بگیرند، به همین دلیل آن ها شروع به استفاده از وب کردند. هنگام توسعه ی یک نرم‌افزار، برنامه نویسان 19 درصد از زمانشان را صرف جستجو در وب می کنند. برنامه نویسان بیشتر وقت خود را صرف یادگیری یک مفهوم جدید می کنند، کمترین زمانشان صرف یادآوری به خودشان درمورد جزئیات مفاهیمی که پیش از آن می دانستند میشود، و در این میان آن ها از اینترنت برای شفاف سازی دانش فعلی خود استفاده می کنند. برنامه نویسی مثال-محور سعی می کند مشکل لزوم خارج شدن از محیط توسعه برای گشتن به دنبال رفرنس ها و مثال ها حین برنامه نویسی را حل کند. به عنوان مثال، به‌طور سنتی و مرسوم، برای یافتن اسناد API و نمونه کد، برنامه نویسان یا از وبسایت مرجع زبان بازدید می کنند یا به موتور های جستجو می روند و پرس و جو های مختص به API را انجام می دهند. | ## بخش 3: برنامه نویسی مثال محور | هنگام تلاش برای یادگیری یک چیز جدید، برنامه نویسان از آموزش های اینترنتی برای یادگیری سر وقت استفاده می کنند. علاوه بر آن، برنامه نویسان عمدا انتخاب می کنند که سینتکس های پیچیده را یادآوری نکنند و از اینترنت به عنوان یک حافظه ی خارجی که به هنگام نیاز می توان به آن دسترسی داشت استفاده کنند. فواید برخی از فواید استفاده از برنامه نویسی مثال-محور عبارتند از: جلوگیری از ارور های هنگام استفاده کاهش زمان جستجوی مثال های کد کاهش زمان جستجوی اسناد API شفاف سازی دانش موجود و یادآوری جزئیات فراموش شده برنامه نویسی پدیدار شونده پدیدارگی یا پدیدار شدن را می توان به عنوان فرایندی تعریف کرد که در آن موجودات، الگو ها و نظم های بزرگتر از تعامل بین موجودات کوچکتر و ساده تری شکل می گیرد که خودشان آن ویژگی ها را ندارند. از مقادیر وسیعی از کد که به‌طور عمومی در سطح وب در دسترس است می توان برای پیدا کردن این الگو ها و نظم ها استفاده کرد. با مدل کردن نحوه ی استفاده از زبان های برنامه نویسی توسط برنامه نویسان در تمرین ها، الگوریتم هایی برای پیدا کردن نحوه های کدنویسی رایج و شناسایی کد های غیرمحتمل می تواند ساخته شود. این فرایند به میزان کدی که برنامه نویسان حاضرند و می توانند به اشتراک بگذارند محدود است. از آن جایی مردم کد بیشتری از آنچه به‌طور آنلاین به اشتراک میگذارند می نویسند، تلاش های مضاعف زیادی در این فرایند وجود دارد. | ## جمع‌بندی | برای استفاده ی کامل از قدرت جماعت، تلاش مورد نیاز برای انتشار آنلاین کد باید کاهش داده شود.