Как вы отлаживаете / разбираете / изучаете чужой код Python (через Интернет)? - PullRequest
1 голос
/ 16 апреля 2009

Хороший пример этого: http://github.com/tav/tweetapp/blob/a711404f2935c3689457c61e073105c1756b62af/app/root.py

В Visual Studio (ASP.net C #), откуда я родом, классы обычно разбиваются на отдельные файлы + я могу установить точки останова, чтобы понять уровень кода.

Если я запускаю такую ​​программу, я просто делаю "system.out", чтобы распечатать, где находится код, в котором я нахожусь?

Я прочитал это https://stackoverflow.com/questions/246546/good-techniques-for-understanding-someone-elses-code, что было очень полезно.

Ответы [ 2 ]

3 голосов
/ 16 апреля 2009

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

Я бы рекомендовал дать Эпидоку пройти. Это создаст HTML документацию программы. Это покажет вам структуру классов, и вы даже сможете построить диаграммы, какие функции вызывают какие функции.

http://epydoc.sourceforge.net/manual-usage.html

Другие ваши варианты - разбить его на несколько файлов самостоятельно (что, я думаю, будет утомительным и не принесет особой пользы)

0 голосов
/ 16 апреля 2009

Если вы установите Eclipse и PyDev , вы можете установить точки останова так же, как в Visual Studio.

В противном случае распечатка информации в ключевых точках часто является хорошим способом узнать, что происходит. Я часто добавляю в отладочную информацию таким образом и оставляю ее в коде, но отключаю, пока не изменю переменную. Я нахожу, что это часто помогает, если вы нарушаете код и вам нужно вернуться и еще раз взглянуть на происходящее. Более того, отправьте свою отладочную информацию в класс журналирования, и вы сможете начать использовать вывод в модульных тестах ... вы действительно тестировали свой код? ;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...