|
[24 Jul 2011|07:19pm] |
Привет всем! Хотел посоветоваться с вами по одному весьма важному для меня вопросу. Меня интересует возможность создания статического анализатора (средства для поиска дефектов без запуска анализируемой программы) для языков с динамической типизацией данных так, чтобы он действительно был востребован разработчиками на этих языках. Это если совсем общо, а теперь больше конкретики. Меня интересуют, прежде всего, Python, Ruby и JavaScript. Поэтому я и обращаюсь к вам, потому что, как мне кажется, вы имеете неплохое представление об одном или нескольких этих языках. В рамках совсем предварительного, поверхностного изучения вопроса я наткнулся на этот обзор в одном из блогов (англ. яз.): http://www.klocwork.com/blog/2009/06/static-analysis-for-rubypython/ С одной стороны, обзор вселяет надежду, так как из него видно, что уже существующие средства вполне себе убоги, то есть возможностей для создания чего-то нового масса. С другой стороны, автор поста делает один не совсем утешительный для меня вывод: «Ruby/Python developers rely on tests pretty heavily. In fact, some claim, that tests are the only right way to deal with bugs in your program. This way a tool for automatic error detection might even be considered harmful - just because it can be used as an excuse for not writing tests». В связи с этим мой первый вопрос: 1. Действительно ли вы, как разработчик на Python/Ruby/JavaScript, считаете, что тесты -- это единственный способ поиска багов в разрабатываемой программе? Пользовались ли бы вы средством для статического анализа, если бы оно не было таким убогим, как уже существующие средства? Ну и остальные вопросы, в общем-то следуют из первого: 2. С какими багами/дефектами вам как разработчику на Python/Ruby/JavaScript приходится сталкиваться чаще всего? Какие баги/дефекты наиболее критичны? Может быть вы слышали о каких-нибудь критичных багах/дефектах в программах на Python/Ruby/JavaScript, найденных в последнее время и для поиска которых пригодился бы статический анализатор? Ну или, может быть, спрошу немного по-другому: 3. Чего бы вам вообще хотелось от статического анализатора для программ на вышеперечисленных языков? На ваш взгляд, что из того, чего вы вам хотелось, реализовать реально и что весьма проблематично? Реально ли вообще сделать востребованный разработчиками статический анализатор Python/Ruby/JavaScript? Мне очень интересно ваше мнение. Если вам есть что сказать по теме, не ограничиваясь ответами на мои вопросы, буду очень рад и признателен!
|
|