Основной инструмент при поиске ошибок в коде
Данная статья рассчитана на начинающих, однако, определённый опыт программирования уже надо иметь. И мне хотелось бы рассказать об одном потрясающем инструменте поиска ошибок. Имееются ввиду те ошибки, которые связаны с алгоритмом, а не с синтаксисом (забыли точку с запятой, не закрыли кавычки, скобки и так далее). Вот в этой статье я расскажу о своём (да и любого другого, кто уже давно программирует) основном инструменте поиска ошибок в коде.
Итак, давайте определимся, какие же ошибки мы будем искать. Допустим, мы написали функцию, цель которой складывать два числа и возвращать результат. Давайте её напишем (в коде специально сделана ошибка):
<?php
function summa($x, $y) {
$sum = $x + $y;
return $x;
}
echo summa(5, 4);
?>
В результате, мы видим, что у нас вывелось 5, хотя мы хотели увидеть 9 (5 + 4). Данный код очень простой, поэтому, конечно, здесь Вы легко сразу обнаружите ошибку. Однако, данный пример является не более, чем примером. Его задача рассказать о механизме поиска ошибок в алгоритме. Так вот, мы должны выяснить, на каком шаге происходит ошибка. И это делается с помощью просмотра значения переменных на каждом шаге. Вот пример того, что нужно делать, чтобы найти ошибку:
<?php
function summa($x, $y) {
echo $x." - ";
echo $y." - ";
$sum = $x + $y;
echo $sum;
return $x;
}
echo summa(5, 4);
?>
Далее мы анализируем каждый вывод переменной:
- Так, переменная x выдала значение 5. Следовательно, эта переменная передалась верно.
- Переменная y имеет значение 4, что так же верно, ведь именно 4 мы и передавали.
- И, наконец, переменная sum показала значение 9. Это то самое значение, которое является истинным.
Дальше идёт return, следовательно, ошибка именно в этой строке. До неё всё шло прекрасно, следовательно, внимательно приглядываемся к этой строке и видим, что вместо того, чтобы возвращать значение переменной sum, мы возвращаем переменную x.
Итак, подведём итог. Основным инструментом поиска ошибок является оператор echo (либо функция print_r(), если переменная является массивом). Всё, что нужно, это просто смотреть на необходимую переменную на каждом шаге алгоритма. И понять, на каком моменте возникает ошибка. Если, допустим, ничего вообще не выводится, то это значит, что функция даже не вызывается. Следовательно, ищем ошибку там, где она должна была вызваться.
Данный подход к устранению ошибок в алгоритме я использую постоянно, нет ни одной программы (скрипта), разве что совсем простого, где я бы данный подход не использовал. Более того, данный подход является универсальным и подходит для других языков тоже. Поэтому его надо освоить Вам в самые кратчайщие сроки, чего я Вам искренне и желаю.
-
- Михаил Русаков
Комментарии (1):
Здравствуйте! Ваша форма не работает Курс: PHP И MySQL с Нуля до Гуру 3.0 День 39 Урок 1 Добавление записей в БД через PHP Исходники к урокам Lesson_8_9.php Выдаёт ошибку: Ошибка при регистрации: !
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.