Компания Code Climate объявила (http://blog.codeclimate.com/blog/2015/06/19/code-climate-pla.../) об открытии своей платформы статического анализа кода. В настоящий момент под лицензией MIT опубликован (https://github.com/codeclimate/codeclimate) инструментарий командной строки и движки статического анализа, лежащие в основе новой платформы Code Climate (https://codeclimate.com/platform). В дальнейшем планируется открыть под открытыми лицензиями все наработки связанные со статическим анализом кода.
Открытая версия Code Climate позволяет проверить качество кода и выявить возможные ошибки при помощи инструментария командной строки. Изначально система создавалась для анализа кода на языке Ruby, но также поддерживает проверку стиля и выявление ошибок для языков EcmaScript/JavaScript и Go. Движки проверки стиля реализованы для языков PHP, CoffeeScript и CSS. Для языка Ruby дополнительно поставляется движок для поиска уязвимостей с учётом используемых в проекте зависимостей.
URL: http://blog.codeclimate.com/blog/2015/06/19/code-climate-pla.../
Новость: http://www.opennet.dev/opennews/art.shtml?num=42471
Еще, еще статистических анализаторов!Походу в компаниях поняли, что большинство пишет гов**код.
Походу, компьютеры для того и существуют, чтобы на них работу перекладывать.
> Походу, компьютеры для того и существуют, чтобы на них работу перекладывать.Тс-с-с, не пали контору. А то щас все решат, что компьютер сам может работать.
Само ничего не работает
- Объясните, пожалуйста, почему крутится электромотор.
- А потому что электричество.
- Что ж это за ответ? Отчего же тогда электрический утюг не крутится?
- А потому что не круглый.
- Ну хорошо, а электроплитка? Круглая? Почему она не крутится?
- А потому что шершавая, трение в ножках.
- Ладно... А лампочка! Электрическая! Круглая! Гладкая! Без ножек! Почему лампочка не крутится?
- А лампочка-то как раз и крутится.
- ???!!!
- А вот когда вы её в патроне меняете, что вы делаете? Вы ведь её крутите!
- Нда-а... но ведь это Я её кручу, а не она сама...
- Ну, знаете, само по себе вообще ничто не крутится! Вон электромотору тоже, небось, электричество нужно!
Столько статических анализаторов и не одного уровня Scitools Understand.
Посыпались как из рога изобилия...
Ммм, гоу и пых. молодежненько! теперь то овно которое я пишу можно проверять. Правда ч уверен что после сотой ошибки в тысячестроковой простыне я на него забью
а хде питон?
Программисты на питоне не допускают ошибок, поэтому статистические анализаторы им не нужны
я flake8 использую... а тут какой-то климатъ...
> а тут какой-то климакс...// fixed
sudo apt-get install pylint pyflakes
> а хде питон?Кому он нужен?
Никому вестимо. Вот только используют - _ВСЕ_ :)
IMHO, смысл в статических анализаторах имеет место для С/C++. В динамических языках опасность в основном из-за логических ошибок, от проблем типа переполнения буфера разработчики более-менее прикрыты.
> IMHO, смысл в статических анализаторах имеет место для С/C++. В динамических языках
> опасность в основном из-за логических ошибок, от проблем типа переполнения буфера
> разработчики более-менее прикрыты.Ну почему, в некоторых ещё и пробельными промахнуться можно, как вон уже и спрашивают... :)
> Ну почему, в некоторых ещё и пробельными промахнуться можно, как вон уже
> и спрашивают... :)Не, динамическая природа python-а даёт поистине бескрайнее поля для косяков. Я даже не возьмусь сказать что больше даёт возмжности для косяков - динамическая природе python или использование указателей в C.
Судя по статьям компании с единорогом, делающих один проприетарный анализатор, добрая половина ошибок, которые они ловят в тех самых плюсах - чистые ошибки логики и неправильное использование синтаксиса, которые могут возникнуть если не во всех, то очень во многих языках.
Не понимаю, как они динамические языки анализируют. Там, по идее, должен быть малый охват ошибок - все ведь в рантайме. Лучше будет разве что для тех, кто пишет в псевдостатическом стиле.
Думаю, 99.9% реально используемого кода на динамических языках пишется в псевдостатическом стиле.
> Думаю, 99.9% реально используемого кода на динамических языках пишется в псевдостатическом
> стиле.Ты хреново смешиваешь. Учись:
""[--B--] has latent as opposed to manifest types. Types are associated with values (also called objects) rather than with variables. (Some authors refer to languages with latent types as weakly typed or dynamically typed languages.) Other languages with latent types are [--A--]. Languages with manifest types (sometimes referred to as strongly typed or statically typed languages) include [--C--].