۱۱ - عادت کنید به تقسیمبندی (خرد کردن اطلاعات).
خب، ممکنه همین الان یه ایده خفن برای یه اپلیکیشن داشته باشیم. ولی مشکل کجاست؟ مشکل اینجاست که این ایده برای سطح مهارت فعلیمون خییییلی پیچیدهست. حالا چیکار میکنیم؟ میایم و سوار "قطار تقسیمبندی(Chunking Express)" میشیم! نه، منظور اون فیلم هنری نیست. داریم درباره خرد کردن مشکل برنامهنویسیمون حرف میزنیم.
فرض کنیم میخوایم یه ربات بسازیم که بتونه روی نون تست کره بماله. (راستی، اگه کسی داره رو این کار میکنه، من آمادهام برای کیکاستارترش سرمایهگذاری کنم!(این آمادگی نویسنده بود ها نه من!!!)) خب، این ربات هیچ ایدهای درباره نون تست، کره یا چاقو نداره. باورمون بشه یا نه، مغز ما کلی مدار پیچیده لازم داره تا بتونه همچین کار سادهای رو انجام بده. (احتمالاً واسه همینه که من بدون قهوه حتی نمیتونم این کارو درست انجام بدم!(ادایی هم خودتونین!!))
ساختن یه ربات که همه این کارا رو خودش انجام بده، خیلی پیچیده و سخته. ولی چون ما برنامهنویسهای خوبی هستیم، میتونیم مشکل رو تیکهتیکه کنیم.
ربات لازم نیست بدونه نون تست چیه یا کره چیه. قرار نیست اسکاینت(Skynet)درست کنیم! پس بریم سراغ نکات عملی. سه تا کار هست که باید ربات انجام بده:
بعد، میایم هر بخش رو بیشتر خرد میکنیم. تو این پروسه، میتونیم به راههای دیگه برای حل مشکل فکر کنیم. مثلاً، آیا لازمه ربات کره رو "پخش" کنه؟ یا میتونه کره رو روی نون ذوب کنه؟ آیا باید یاد بگیره چاقو برداره؟ یا میتونه یه بازوی چاقویی داشته باشه، شبیه یه دزد دریایی زندانی با چاقو؟
هر چی بیشتر مشکل رو خرد کنیم و دقیقتر مشخص کنیم که دنبال حل چه چیزی هستیم، راحتتر میتونیم کدمون رو به بخشهای کوچیک و قابل مدیریت تقسیم کنیم.
هر چی بخش سادهتر باشه، حل کردنش راحتتره. پس دفعه بعد که خواستیم اون اپلیکیشن ترکیبی از "اسنپچت" (Snapchat) و "اورنوت"(Evernote) رو بسازیم، یادمون باشه مشکل رو به تیکههای کوچیک و قابل حل تقسیم کنیم!
در آخر یادمون باشه نوشتن برنامه مثل امتحان دادنه! از سوال اول شروع کنیم و جلو بریم! یهو سراغ سوال آخر نریم که همون سوال اول هم یادمون بره. تیکه تیکه حل کنیم اگر درست بود بعد قسمت بعدی....
ادامه دارد....
برنامه نویس باشید و ازش لذت ببرید :)
نویسنده : Dr. Angela Yu
برداشت آزاد و ترجمه : محمد جواد صبرجو