Метад качаня (англ.: Rubber duck debugging або Rubberducking) — метад адладкі кода пры распрацоўцы праграмнага забеспячэння шляхам фармулявання праблемы натуральнай мовай у вуснай або пісьмовай форме. Назва з’яўляецца адсылкай на гісторыю, апісаную ў кнізе «Прагматычны праграміст» (англ.: The Pragmatic Programmer). У кнізе праграміст насіў з сабой гумовую качку і, калі яму трэба было праверыць свой код, ён тлумачыў яго качаня радок за радком. Ёсць мноства іншых тэрмінаў, якія апісваюць гэтую з’яву, і часта гэтыя тэрміны звязаныя з рознымі (звычайна) неадушаўлёнымі прадметамі або хатнімі жывёламі, як сабака або кошка. Таксама шырока выкарыстоўваюцца плюшавыя мядзведзі. [1] Калі пры рашэнні праблемы ўдзельнічаюць людзі, гэта называецца канфесійным праграмаваннем. [2]

Гумавая качка, якой распрацоўшчыкі карыстаюцца для адладкі.

Сутнасць метаду

правіць

Праграмісты заўважылі, што часта рашэнне само прыходзіла да іх у працэсе тлумачэння праблемы камусьці іншаму, нават таму, хто не разбіраецца ў праграмаванні. Пры апісанні таго, што павінен рабіць код, і назіранні за тым, што ён насамрэч робіць, становіцца відавочнай любая неадпаведнасць у гэтым. У больш агульным плане, каб навучыць кагосьці, трэба ацаніць прадмет або праблему з розных бакоў, што дае больш глыбокае разуменне праблемы. [3] Выкарыстанне неадушаўлёных аб’ектаў дазваляе праграмісту зрабіць гэта, не адцягваючы нікога іншага. Таксама выкарыстанне неадушаўлёных прадметаў дае лепшыя вынікі, чым простае разважанне ўслых без аўдыторыі. Гэты падыход выкладаўся на курсах інфарматыкі і праграмнай інжынерыі. [4] [5]

У масавай культуры

правіць

1 красавіка 2018 года Stack Exchange, як першакрасавіцкі жарт, паказала на сваіх сайтах новую «функцыі» — Quack Overflow, гумавае качаня, якое з’яўляецца ў правым ніжнім куце акна прагляду браўзера. Качаня спрабавала дапамагчы наведвальнікам. Яно выслухоўвала праблемы наведвальнікаў і прапаноўвала рашэнні. Пасля «выслухоўвання» пытання і яго «апрацоўкі», качаня проста рабіла гук «кракання» і паказвала спасылку на артыкул пра метад качаня, у якім расказвалася, што гэта добры метад рашэння праблем.[6]

Крыніцы

правіць
  1. Debugging. Rubber Duck Debugging. rubberduckdebugging.com. Праверана 14 верасня 2023.
  2. Ducking. Rubber Ducking. Rubber Ducking. Праверана 4 красавіка 2024.
  3. Hayes. The Psychology Underlying the Power of Rubber Duck Debugging. Press Up via Internet Archive (25 чэрвеня 2014). Архівавана з першакрыніцы 9 July 2014. Праверана 10 верасня 2021.
  4. Attwood. Rubber Duck Problem Solving. codinghorror.com (2012).
  5. Malan. Rubber Duck Debugging in CS50 IDE. noticeable.news (2020).
  6. Stack Exchange has been taken over by a rubber duck!. Meta Stack Exchange (31 сакавіка 2018). Праверана 1 April 2018.