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

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

برنامه نویسی بار باورانه [۱] یا برنامه نویسی تقلیدی نوعی از برنامه نویسی رایانه (کامپیوتر) است که مشخصه‌اش گنجاندن سنتی ولی بیهوده تکه هایی از نرم‌افزار یا ساختارهایی است که در برنامه مورد نظر به هیچ کار نمی‌آیند. برنامه نویسی بار باورانه معمولاً نشانه عدم شناخت برنامه نویس از اشکال برنامه یا ناآشنایی وی با راه حل آن است (مقایسه شود با 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. 
  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.

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

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

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

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

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

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