برنامه‌نویسی بارباورانه

برنامه‌نویسی بار باورانه[۱] یا برنامه‌نویسی تقلیدی نوعی از برنامه‌نویسی رایانه (کامپیوتر) است که مشخصه‌اش گنجاندن سنتی ولی بیهوده تکه‌هایی از نرم‌افزار یا ساختارهایی است که در برنامه مورد نظر به هیچ کار نمی‌آیند. برنامه‌نویسی بار باورانه معمولاً نشانه عدم شناخت برنامه‌نویس از اشکال برنامه یا ناآشنایی وی با راه حل آن است (مقایسه شود با Shotgun Debugging, Voodoo Programming - اشکال زدایی فله‌ای، برنامه‌نویسی با جادو و جمبل).[۲] واژه «برنامه‌نویس بار باور» (cargo cult programmer) ممکن است به یک برنامه‌نویس نامجرب یا تازه‌کار (یا ناآشنا با مسئله مورد نظر) هم گفته شود. چنین فردی مقداری از کد برنامه را از جایی کپی می‌کند و به جایی دیگر می‌چسباند[۳] بدون آنکه شناختی کامل یا حتی ناقص از شیوه کارکرد آن داشته باشد یا دلیل نیاز یا عدم نیاز به آن را در جای جدید درک کند.

خلاصه ویرایش

برنامه‌نویسی بار باورانه همچنین ممکن است اشاره به نتایج بکار گرفتن (بیش از اندازه) یا کورکورانه یک الگو یا شیوهٔ برنامه‌نویسی باشد که دلایل اصولی ایجاد آن را برنامه‌نویس درک نکرده‌است. نمونه‌هایی از این دست عبارتند از

  • افزودن توضیحات غیرضروری به برنامه ایست که کد آن به‌وضوح هدفش را توضیح می‌دهد
  • افزودن کد حذف اشیاء برنامه‌ای (program object) در حالیکه برنامه‌های زباله روب بدون هیچ مشکلی آن‌ها را به‌طور خود کار پاک می‌کند
  • ایجاد اشیاء برنامه‌ای کارخانه‌ای[۴] به جای اشیاء ساده

این پدیده اغلب در مورد برنامه نویسانی دیده می‌شود که یا در زبان مربوطه بی‌تجربه‌اند یا ساده‌تر بگوییم وسواس دارند.

واژه بار باوری به عنوان یک اصطلاح نخست اشاره به آن دسته از مذاهب بومیان جنوب اقیانوس آرام بود که پس از جنگ دوم جهانی رشد کردند. مناسک این گروه‌ها حول ساختن اشکال تقلیدی هواپیما و فرودگاه‌های نظامی متمرکز بود به این امید که هواپیماهای خدایگونه‌ای را که در طول جنگ محموله‌های شگفت‌انگیزی آورده بودند باز احضار کنند.[۵][۶] کار برد این واژه در برنامه‌نویسی رایانه احتمالاً ملهم از اصطلاح علم بار باورانه است که ریچارد فاینمن در توصیف برخی شیوه‌های صوری تحقیق بکار برد.[۶][۷]

مهندسی بار باورانه نرم‌افزار ویرایش

«مهندسی بار باورانه نرم‌افزار» واژه دیگری در زمینه مهندسی نرم‌افزار است که Steve McConnel آن را ابداع کرد.[۸] مک کانل در توصیف تشکیلات مقلد تولید نرم‌افزاری می‌نویسد که آن‌ها می‌کوشند از شرکتهای موفق تولید نرم‌افزار تقلید کنند ولی یا با پیروی برده وارانه یک فرایند تولید نرم‌افزار بدون درک منطق آن یا با تلاش برای تقلید یک روش تعهد به تولید (که در آن تولیدکنندگان نرم‌افزار مقدار زیادی از وقت و نیروی خود را صرف موفقیت پروژه‌شان می‌کنند) ساعات طولانی اضافه کاری بدون حقوق مقرر می‌کنند، در حالیکه در شرکتهای موفق این دستاوردها اثرات جانبی انگیزه قوی است نه التزام.

در هر دو مورد بحث مک کانل این است که مستقل روش تولید، پیروزی یا شکست یک پروژه را خبرگی و کفایت تعیین می‌کند. گذشته از این او ادعا می‌کند که «تشکیلات دغلکار» بی‌کفایت (که از تشکیلات موفق در تولید نرم‌افزار تنها شکلشان را تقلید می‌کنند) در واقع مشغول کاری می‌شوند که وی آن را 'مهندسی بار باورانه نرم‌افزار' می‌نامد.[۶]

همچین رجوع کنید به ویرایش

منابع ویرایش

  1. Cargo cult programming در ویکی‌پدیای انگلیسی
  2. Eric S. Raymond (1996). "The New Hacker's Dictionary". MIT Press. ISBN 0-262-68092-0. {{cite journal}}: Cite journal requires |journal= (help)
  3. Copy and paste programming در ویکی‌پدیای انگلیسی
  4. Abstract factory pattern در ویکی‌پدیای انگلیسی
  5. Cargo Cult Programming article Dr. Nikolai Bezroukov, Softpanorama (slightly skeptical) Open Source Software Education Society, Retrieved 2008-03-25
  6. ۶٫۰ ۶٫۱ ۶٫۲ Cargo Cult Software Engineering IEEE Software, March/April 2000, retrieved 2008-05-24
  7. Definition of cargo cult programming . Jargon File at jargon.net. Retrieved 2008-03-25
  8. Ch.3: Cargo Cult Software Engineering Steve McConnell (2003). Professional Software Development. Boston: Addison-Wesley. pp. 23-26. ISBN 0-321-19367-9. Retrieved June 10, 2012.

جستارهای وابسته ویرایش

بار باوری یا کیش‌کالا

علم بار باورانه

مهندسی نرم‌افزار

برنامه‌نویسی شیءگرا

برای مطالعهٔ بیشتر ویرایش