۱۳۹۳/۱۱/۱۱

برنامه نویسی و فرقه بارپرستی

فرقه بارپرستی (Cargo Cult)
فرقه بارپرستی (Cargo Cult)

مقدمه

عدم آشنایی و مطالعه کافی باعث می‌شود فرد به جای شناخت مشکل و رفع آن با روش صحیح، دست به کارهایی بزند که هیچ فایده‌ای برای حل مشکل ندارند. این اشتباه روزانه توسط بسیاری از افراد مبتدی (و برخی متخصصی) انجام می‌شود. حل صحیح هر مشکلی نیاز به شناخت کافی از عوامل ایجاد کننده آن دارد. صرف کردن زمان بیشتر برای شناخت آن عوامل موجب عدم تکرار اشتباه و رفع صحیح و آسان‌تر آن می‌گردد. بارها مشاهده کرده‌ام که فردی بدون دانستن منشا مشکل شروع به سعی و خطا برای حل آن کرده است. اینگونه اشتباهات در حوزه برنامه نویسی و مدیریت سیستم (System Administration) بسیار یافت می‌شود. افراد در هنگام انجام این اشتباه بدون در نظر گرفتن علت مقدم، صرفا با تغییر در بخش‌هایی از نرم‌افزار سعی در رفع خطا دارند. یا صرفا با راه‌اندازی مجدد نرم‌افزار و سیستم، برای رفع مشکل تلاش می‌کنند. زمانیکه فرد بدون در نظر گرفتن علت، سعی در بدست آوردن معلول می‌نماید، اصطلاحا در حال پیروی از فرقه بارپرستی است.



فرقه بارپرستی (Cargo Cult)

فرقه بارپرستی (Cargo Cult)
فرقه بارپرسی
در زمان جنگ جهانی دوم، آمریکا برای حمله به مواضع ژاپن، پایگاه‌های نظامی زیادی در جزایر بومی نشین جنوب شرق آسیا و اقیانوس آرام (منطقه ملانزی) ایجاد کرد. محموطه‌های غذایی، داروی و نظامی توسط بالگرد، هواپیما و کشتی به این پایگاه‌ها منتقل می‌شوند. بومیان منطقه نمی‌توانستند تصور کنند که این کالاها ساخته دست بشر باشد. آن‌ها بر این باور بودند که این محموله‌ها از طرف خدایان ارسال می‌شود.
راهنمای فرود بالگرد (Landing Signalman)
راهنمای فرود بالگرد
 آن‌ها رژه سربازان، فعالیت راهنمای فرود بالگرد (Landing Signalman) و مواردی از این قبیل را نوعی دعا برای خدایان می‌دانستند که موجب ارسال غذا و کالا از سوی خدایان می‌شود.
بعد از اتمام جنگ، بومیان به تقلید از نظامیان، لباس یکدست پوشیده و شروع به رژه رفتن کردند. برخی نیز با استفاده از چوب درختان شروع به تکرار حرکات راهنمای فرود پرواز نمودند. آنها بدون شناخت علت صرفا شروع به تقلید معلول کردند. آنها بدون وجود بالگرد، برای راهنمایی فرود آن تلاش میکردند!
با اینکه بسیاری از فرقه‌ها بارپرستی منسوخ شده‌اند اما چندین فرقه همچنان به فعالیت خود ادامه می‌دهند. برای اطلاعات بیشتر صفحه بارپرستی در ویکی‌پدیا را مطالعه نمایید.

فرقه بارپرستی (Cargo Cult)


برنامه نویسی و فرقه بارپرستی

در میان برنامه‌نویسان مبتدی و در برخی موارد متخصص، پیروی از اشتباهات فرقه بارپرستی به چشم می‌خورد. به مثال‌ها زیر توجه کنید:
  1. کپی و پیست کردن توابع از اینترنت بدون تست کامل آن‌ها. توابع مانند تبدیل مقادیر، ارزیابی صحت (Validation).
  2. تغییر در پارامترها غیر مرتبط و اتفاقی برای رفع مشکل.
  3. راه‌اندازی مجدد نرم‌افزار ویا سیستم بدون رفع مشکل (کندی یا Crash).
  4. افزودن توضیحات غیر ضروری به برنامه‌ای که کد آن بوضوح هدفش را توضیح می‌دهد.
تمامی  این موارد به طور مستقیم یا غیر مستقیم به نوعی پیروی از فرقه بارپرستی است. تلاش کنید تا همواره منشا مشکل را بیابید. مشکلی که یکبار اتفاق افتاده، مطمئنا بار دیگر نیز رخ خواهد داد. شناخت صحیح علت مشکل موجب عدم تکرار آن ویا موارد مشابه در آینده می‌شود. پس پیرو فرقه بارپرستی نشوید!

منابع و اطلاعات بیشتر

۶ نظر:

  1. مطلب بسیار جالبی بود . اتفاقا این موضوع بین برنامه نویس ها بسیار رایج هست . بنده دلیل اصلی این جریان را چند مورد میدونم :
    1.عدم وجود منابع کامل در مورد برنامه نویسی به زبان پارسی(برای برنامه نویس های وطنی )
    2.عدم تسلط برنامه نویس ها به document های اصلی
    3.نبود انگیزه کافی برای جستجو و درک بیشتر از نحوه کار یک سیستم ! (نظر من اینه که اگر عشق نباشه کسی نمیتونه کد رو تحمل کنه! میخواد ازش فرار کنه)
    4.....

    پاسخحذف
    پاسخ‌ها
    1. دلایل کاملا قابل قبولی رو ارائه کردید. به نظر من مورد سوم مهم ترین دلیله. تنبلی و نبود انگیزه کافی. مطمئنا اگر کسی قصد و اراده کافی داشته باشه، در طی انجام دادن هر کاری از جمله برنامه نویسی، تحقیق و بررسی کافی رو انجام میده.

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

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

      حذف