Припущення (програмування)Припущення (англ. Assertion) (варіанти перекладу терміна: твердження, пересвідчення) в програмуванні — конструкція в мові програмування яка описує певне припущення щодо властивостей змінних або стану програми. Це припущення зазвичай повинне бути істинним. Більшість мов програмування використовують ці припущення для перевірки таких коректності даних і виконання, а деякі використовують їх для документування. Якщо припущення не виконується, це може вказувати на наявність помилки в програмі. Рекомендоване застосуванняПрипущення та перевірка помилокВажливо розрізняти помилки алгоритмів програми та помилки, які виникають під час виконання програми:
Припущення не є способом обробки помилок часу виконання. Наприклад, застосування припущень для обробки введених користувачем даних є прикладом поганої розробки. Ця конструкція може використовуватись для перевірки того, що припущення, зроблене програмістом, залишається вірним і під час роботи програми. Приклад такого застосування наведено в наступному тексті програми на мові Java: int total = countNumberOfUsers();
if (total % 2 == 0) {
// total парне
} else {
// total не парне
assert(total % 2 == 1);
}
В мові програмування Java, «%» є оператором обчислення залишку від ділення (а не модуля) — у випадку, якщо перший його операнд від'ємний, результат також може бути від'ємним. В цьому прикладі, програміст зробив припущення, що кількість користувачів завжди не від'ємна, і залишок від ділення на 2 завжди дорівнюватиме 0 або 1. Твердження робить це припущення явним — якщо метод countNumberOfUsers поверне від'ємне число, це свідчитиме про дефект програми. Іноді, твердження ставлять в ті частини коду, які вважаються недосяжними. Наприклад, твердження можуть ставитись в частину default вислову switch в програмах на мовах C, C++, та Java. Про випадки, які програміст навмисно залишив не обробленими, буде одразу повідомлено. Основною перевагою такого підходу є те, що у випадку, коли помилка таки дійсно виникає, вона виявляється одразу ж, замість того, аби виплисти згодом у геть іншій ділянці коду. Через те, що повідомлення про хибність твердження містить вказівку на місце в коді програми, воно може значно полегшити пошук дефектів без відладки всієї програми. Джерела інформації
Див. такожПосилання
|
Portal di Ensiklopedia Dunia