Отладка скриптового языка, такого как ruby - PullRequest
6 голосов
/ 07 октября 2009

Я в основном из мира программирования на языке Си, теперь углубляюсь в мир языков сценариев, таких как Ruby и Python.

Мне интересно, как делать отладку. В настоящее время я выполняю следующие шаги:

  • Я заканчиваю большой скрипт,
  • Комментируйте все, кроме части I хочу проверить
  • Выполнить скрипт

Хотя это работает, я не могу отлаживать, как, например, в среде VC ++ или что-то в этом роде.

У меня вопрос, есть ли лучший способ отладки?

Примечание: я думаю, что это может быть повторный вопрос, если да, пожалуйста, укажите мне на ответ.

Ответы [ 11 ]

0 голосов
/ 07 октября 2009

Есть такой вопрос о Ruby IDE здесь - и поиск по "ruby IDE" предлагает больше.

Я заканчиваю большой сценарий

Вот что привлекло мое внимание: для меня «завершено» означает «выполнено», «закончено», «выпущено». Независимо от того, пишете ли вы тесты перед написанием функций, которые их проходят, или пишете ли вы тесты вообще (или я рекомендую это делать), вы не должны писать код, который не может быть запущен (который сам по себе является тестом) ) пока не станет большим. Ruby и Python предлагают множество способов написания небольших, индивидуально тестируемых (или исполняемых) фрагментов кода, так что вам не придется ждать (?) Дней, прежде чем вы сможете его запустить.

На данный момент я создаю (Ruby) скрипт перевода / преобразования базы данных - он занимает до 1000 строк и до сих пор не завершен. Я редко прохожу более 5 минут без запуска или, по крайней мере, запускаю ту часть, над которой я работаю. Когда он ломается (я не идеален, он ломается много ;-p) Я знаю, где должна быть проблема - в коде, который я написал за последние 5 минут. Прогресс довольно быстрый.

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

...