Re[8]: Как я выкинул на ветер 2 тыщи рублей или линукс в быт
От: Erop Россия  
Дата: 11.04.07 17:48
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV>А второй момент заключается в следующме, когда ты прошел несколько шагов и при этому поменялись данные, то очень часто возврат назад и повторный проход может дать совсем другой результат. Так как внешнее окружение (глобальные переменные, члены классов, состояние данных в базе) уже другие. Все. Надо заново запускать программу. Пробовал использовать твою методику, но очень быстро вынужден отказаться.


Лучше бы попробовать научиться использовать. Правда это далеко не всегда нужно, но часто бывает удобно. Особенно в сложном, наукоёмком коде. Когда нужно "пошевелить" параметры какой-то функции, в каком-то хитром, возникшем на практике случае.

Но это требует некоторйо культуры программирования. Например надо бы не передавать данные через статические переменные и т. п.

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

Приведу пример ситуации, когда возможность переставить поток управления исключительна полезна.
Вот есть у тебя какой-то сложный процесс. Он состоит из запросов. Всё логгируется. Но не очень подробно. Потому что подробно -- долго и много места. Но вот ты нашёл подозрительный запрос. Попал на него в отладчике. Понял, что чего-то не понимаешь, захотел получить лог поподробнее. Возможность включить подробный лог и повторить запрос -- очень ценна. Советую взять на вооружение

Ещё бывает так, что проблемная ситуация трудно (долго) воспроизводима, кстати
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.