Я никогда не был огромным поклонником Python. Я изучил его для курса, где учитель действительно был в этом, но его энтузиазм никогда не доводил до конца нашего класса: кажется, как только у нас появилась такая возможность, мы все прыгнули на C#/Java.Существуют ли инструменты статического анализа/проверки Python?
В любом случае. Это был не заключительный опыт, и что меня больше всего раздражало в том, что, чтобы узнать, работает ли код Python, вам действительно нужно его выполнить и рискнуть на полпути из-за чего-то глупого, как опечатка в переменной имя (сброс NameError
). Вещь в том, что компиляторы для скомпилированных языков улавливаются на первый взгляд, но что Python не будет жаловаться, пока не станет слишком поздно. (Я знаю, что вы можете всегда умереть наполовину через тест с скомпилированными программами тоже, но, по крайней мере, это не будет из-за опечатки.)
Я еще не даю второго шанса, но для для следующих учеников есть ли там статический анализ или инструменты проверки Python, которые будут улавливать большинство ошибок (я понимаю, вы не можете их поймать), компиляторы поймают во время компиляции?
@Hamish Grubijan: правда, что он составлен, но это не дает вам Имя проверки. 'def foo(): print bar' будет« компилироваться »просто отлично и умереть во время выполнения. – zneak
@Hamish Grubijan: Сначала я попытался запустить фрагмент Python, и он ничего не сказал (что ожидалось). Затем я использовал 'clr.CompileModule' для компиляции фрагмента Python, который я вам показал, и он все еще не жаловался. Есть ли другой способ, который заставит IronPython проверять имена перед созданием dll? – zneak
Я не знал, о чем говорю; Полагаю, это было для вас хорошим упражнением. –