Чи є термін для нереалізованого коду, який був написаний для когось іншого для заповнення?


91

Іноді під час вправи з програмування, генерації котлоагрегатів, розміщення направляючих поручнів навколо завдань, які для молодшого програміста реалізують тощо, трапляється, що програмісту пред'являється беззмінений код і кажуть «заповнити бланк». Наприклад, тест одиниці, який може компілювати, але не виконувати помилки, або оголошення класу з порожніми методами.

Чи є загальний термін для цієї практики?


Не зовсім те, що ви просите, але пов’язане з цим. Якщо також є тестові сценарії, які показують, що очікується зробити ваш код, він відомий як Test Driven Development.
AJFaraday

32
Для кого б хто не проголосував: "Назвіть цю річ" може бути не особливо цікавим питанням. Однак на це запитання є об'єктивна відповідь, яка в першу чергу не ґрунтується на думці. Як доказ я подаю свою відповідь нижче.

3
Я б сказав "Страшна практика кодування".
Ейфорія


3
"Вправа для читача", схоже, підхід до підручника, якщо ви говорите про обробку помилок.
Філ Лелло

Відповіді:


177

Ви маєте на увазі заглушку чи скелет :

Стуб

Зазвичай це метод або функція з здебільшого порожнім тілом, яке просто повертає фіктивне значення, щоб код скомпілювався.

Скелет

Це метод, в якому реалізований алгоритм високого рівня, але окремі частини залишаються без виконання. Вони можуть бути порожніми кодовими блоками або методами опорного заглушки (див. Вище), які згодом виконують підзадачі. Це хороший спосіб виразити розробку програмного забезпечення для молодшого програміста, який може боротися з більшими зусиллями щодо проектування, або переконатися, що алгоритм правильний, перш ніж вкладати занадто багато часу в деталі низького рівня.


Практику використання цих елементів коду можна назвати заглушкою або створенням кодового скелета .


3
Хоча мені більше подобаються ваші умови, я вважаю, що термін "риштування" в Ruby on Rails - це те саме поняття.
декор

Я також вважав, що заглушка є правильним словом для цього, але не була впевнена, тому що я отримувала відштовхування від інших на своїй роботі. Дякую.
Брендон Арнольд

Це "заглушка", якщо вона зроблена в академічному контексті. Зроблено в професійному / комерційному контексті, це "технічна заборгованість".
aroth

10
@aroth це не технічна заборгованість, якщо код не працює - він повинен бути реалізований. Технічна заборгованість передбачає погано написаний код, який в кінцевому підсумку використовується у виробничому середовищі, а значить, для коректного відновлення потрібні значні зусилля. Заглушка в ідеалі повинна мати несправний тестовий випадок, тому її потрібно реалізувати і випробувати перед тим, як її втратити на виробництві.

2
@BrandonArnold: Розмовляючи зі своїми коледжами, ви повинні використовувати зрозумілі їм слова. Якщо ви не начальник.
Стиг Хеммер

42

Я бачив, як використовується термін « заглушка ».

Наприклад, я вважаю, що Eclipse автоматично вставляє коментар

String getName() {
    // TODO: Auto-generated method stub
    return null;
}

в його сумнозвісні автоматично створені, ну, заглушки.

Також зверніть увагу на використання терміна "заглушка" в контексті тестування одиниць .


2
"// TODO: Автоматично створений заглушок методу" Я думаю.
іммібіс

Безумовно корисно це знати. . .
Брендон Арнольд

17

У Visual Studio при написанні коду intellisense надасть вам опцію "генерувати новий заглушок методу". Вибираючи цей параметр, Visual Studio генерує заглушку / скелет коду точно так, як ви описали.

Microsoft називає це заглушкою, тому я б також назвав ці заглушки.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.