درس اول طراحی – بخش اول

  • یوسف مهرداد بی‌بالان

پیش‌گفتار:
دیرزمانی است که درباره‌ی طراحی چیزی ننوشته‌ام. دوست داشتم در این باره مطلبی بنویسم. احتمالاً مطالب بیشتر «بینشی» است تا «دانشی». امیدوارم مفید باشد. خوشحال خواهم شد که نظرات شما را برای نقد و تکمیل مطالب، دریافت کنم.

گفتار:
آموزش طراحی را معمولاً با یک مثال شروع می‌کنم: دو شکل داریم، مستطیل و دایره. می‌خواهیم آنها را رسم کنیم و مساحت‌شان را کنارشان بنویسیم. طرحی برای مسأله و مبتنی بر پارادایم شیءگرایی ارائه کنید.
چون دوره‌ی آموزشی است، بین دانشجویان نوعی «مسابقه‌ی دانایی» راه می‌افتد. هر کسی تلاش دارد همه‌ی دانش و تجربه‌اش را روی میز بریزد و طرحش اشاره‌ای به آنها داشته باشد. این موضوع طبیعی است، هر انسانی دوست دارد که بگوید «باسواد و باتجربه‌ام»

دانشجویان با انبوهی از تکنیک‌ها و مفاهیم به مسأله حمله می‌کنند: از Interface, abstract class بگیرید تا مباحثی مانند Layering و DI و گاه AOP!

یک:
اولین نکته‌ای که در این شرایط آموخته‌ام این است که «گاهی ندانستن بهتر از دانستن است» و «گاهی بی‌تجربگی به تجربه می‌چربد»!
دانش و تجربه‌ی دانشجویان به خصوص بهترین‌هایشان منجر به بحرانی می‌شود که آن را «انفجار پیچیدگی بی‌مورد» می‌نامم. به زبان ساده‌تر، برای جابه‌جایی یخچال به خانه‌ی جدید، نیازی به اجاره‌ی تریلی هجده چرخ نیست! بدیهی است که تریلی به مراتب قوی‌تر از پیکان‌ وانت است.
انتخاب تکنیک‌ها از یک سیستم اقتصادی تبعیت می‌کند. چقدر هزینه کنیم و چه به دست آوریم. مدیر مؤفقی روزی به من آموخت که «حواست باشد گاهی ده واحد هزینه می‌‌کنی و فقط دو واحد به دست می‌آوری!».
توصیه: همواره در مورد مسائل طراحی، در چارچوب یک سیستم اقتصادی تصمیم‌گیری کنید.

دو:
معلمان زحمت‌کش ریاضی، فیزیک و شیمی سعی می‌کردند که بیاموزند که فهم و درک مسأله، پنجاه درصد حل مسأله است. یادم می‌آید که معلمانم برای یاددان این موضوع، ورودی را یک طرف می‌نوشتند و خروجی‌های مورد انتظار را طرف دیگر. سپس می‌گفتند دنبال مطلب یا راه حلی باشید که بتواند شما را از طرف اول به طرف دوم برساند.
در این بین برای این که معنی قید (Constraint) را بیاموزانند، محدودیت‌هایی بر راه حل حاکم می‌کردند. مثلاً حد زیر را بدون استفاده از روش هوپیتال به دست آورید. جوابهای معادله‌ی درجه دوم زیر را بدون استفاده از روش دلتا محاسبه کنید. پاسخ پرسش زیر را در کم‌تر از نصف صفحه بنویسید.
جورج پوليا جایی گفته است: «پاسخ به پرسشی كه فهميده نشده باشد، كاري ابلهانه است. كار كردن براي رسيدن به هدفي كه مورد پسند نيست، غم‌انگيز است
دانشجویان قبل از آن که مسأله را خوب بفهمند، حول و حوش آن «بچرخند» و ابعاد آن را خوب ببینند، علاقه دارند زود به راه حل فکر کنند و به راه حل برسند. چون هدف نهایی، «راه حل» است. البته وقت کمی که به آنها داده می‌شود نیز این عارضه را تشدید می‌کند.
توصیه: هرچند دست‌یابی به راه حل، موضوعی است تدریجی، اما تا قبل از فهم درست و کامل مسأله و تحلیل آن، به راه حل فکر نکیند.

پانوشت:
خدا رحمت کند آقای منصوری را و سلامت نگهدارد همه‌ی معلمان را.

گزیده:
صبح، باران، بی‌بالان!

نظرات (4)

wave
  • امیر

    9 شهریور 1392 در 00:00

    فاتحه رو خوندم. انسانهای شریف بی سروصدا کم نیستند

    پاسخ
  • داريوش

    9 شهریور 1392 در 00:00

    استاد گرامي. روي ماهتان را مي بوسم. البته كه چنان استاد گرانقدري ، اينچنين استاد نازنين و پرمايه اي تحويل جامعه مي دهد.

    پاسخ
  • شهاب

    10 شهریور 1392 در 00:00

    درود بر شما

    بسیار عالی واقعا جای چنین مطالبی روی وبلاگ خالی بود.

    شاد باشید.

    پاسخ
  • امیر جلیلی فرد

    12 شهریور 1392 در 00:00

    ممنونم. مثل همیشه آموزنده و سرشار از نکات بود

    پاسخ

برای خروج از جستجو کلید ESC را بفشارید