Я часто чую терміни «заглушка», «заглушка щось виходить», «заглушки» тощо.
Що означає заглушка в програмуванні і звідки походить це слово? У яких контекстах його можна використовувати?
Я часто чую терміни «заглушка», «заглушка щось виходить», «заглушки» тощо.
Що означає заглушка в програмуванні і звідки походить це слово? У яких контекстах його можна використовувати?
Відповіді:
Метод заглушки - це метод, який просто повертає простий, але дійсний (хоча і не обов'язково правильний) результат.
Зазвичай вони виготовляються під час створення інфраструктури, і ви не хочете витрачати час на кожен необхідний метод. Натомість ви створюєте заглушки, щоб все компілювалось, і автоматичне завершення IDE знає про методи, які ви плануєте використовувати.
Ще одне місце, де використовуються заглушки, - це глузування під час тестування. Ви надаєте методи заглушки замість нормальної залежності через введення залежності, яка повертає фіксовані результати, а потім гарантуєте, що код робить з ними правильно. Це виокремлює тестування коду, який ви намагаєтеся протестувати, і означає, що вам не потрібно розкручувати базу даних лише для запуску цих тестів.
Можливо, це найкраще відповісти конкретним прикладом. Розглянемо випадок, коли ви створюєте настільний додаток. Ви вирішили мати функцію з ім'ям createMenubar
, createToolbar
і createMain
так , що ваш конструктор додатків доглянутий.
Ваш основний код буде виглядати приблизно так (цей приклад є в python):
class ExampleApp():
def __init__(self):
self.createMenubar()
self.createToolbar()
self.createMain()
Поки у вас все не працює, ваша основна функція буде виходити з ладу, тож як ви можете перевірити свій додаток під час розробки? Наприклад, якщо ви почнете працювати над createMenubar
, ініціалізація не вдасться після створення меню, оскільки ви не реалізували панель інструментів або основну область графічного інтерфейсу.
Це де пні увійти. Ви можете створити функцію з ім'ям createToolbar
і createMain
які задовольняють вимогу конструктора додатки (а саме, що ці функції існують), не маючи насправді їх реалізацію. Ці функції є заглушками:
def createToolbar():
pass
def createMain():
pass
За допомогою цих заглушок ви можете почати реалізовувати основну програму та меню, не турбуючись про деталі панелі інструментів чи основної частини програми. Згодом ви перейдете на панель інструментів і заміните заглушку на фактичну функцію. І нарешті, ви виймете заглушку createMain
і дасте це справжнє втілення.
Зауважте, що заглушки не обов'язково нічого робити. Наприклад, ці заглушки можуть створити порожній віджет контейнера, який може викласти конструктор додатків. Справа в тому, що ви створюєте фіктивні функції або об’єкти, які роблять достатньо, щоб ваш інший код запускався, поки ви його розробляєте. З часом ви замінюєте заглушки один на один, поки ваша заявка не буде завершена.
"Заглушка" використовується в програмуванні "зверху вниз". Саме тоді ви будуєте свою заявку від загальної до конкретної. При цьому ви будете використовувати "заглушки" як "заповнювачі" для конкретних програм, які ви не встигли створити. Вони часто повертають речі, як манекени, або випадкові значення в більш загальну частину програми. Це все в порядку, заглушка подає достатньо значення, щоб зробити більш "старшою" частиною програми роботу. Поки не настане час замінити заглушку або встановити її справжнє обчислення або значення.