|
2.2, A.Stahl (ok), 18:36, 18/03/2016 [^] [^^] [^^^] [ответить]
| +8 +/– |
Причём раньше они хоть какой-то уровень своего спама поддерживали -- иногда там даже были куски забавного кода. А что теперь? 3 строки о факте проверки. Фу!
| |
|
|
4.9, Аноним (-), 18:49, 18/03/2016 [^] [^^] [^^^] [ответить]
| +12 +/– |
Главное к опенсорсу никак не относятся. Требуют вьюжлстудию, которой никто из вменяемых разработчиков уж лет 5 не пользуется из-за плохой поддержки стандартов. Полный КГ/АМ.
| |
|
|
6.15, Аноним (-), 19:25, 18/03/2016 [^] [^^] [^^^] [ответить]
| +8 +/– |
Вменяемые пользуются всем тем, куда g++ можно прикрутить без танцев с бубном. QtCreator, нпаример.
| |
6.17, Аноним (-), 19:36, 18/03/2016 [^] [^^] [^^^] [ответить]
| +8 +/– |
> А чем вменяемые пользуются, простите?
Gcc и clang с редактором или ide на выбор. А MSVC не умеет C99 в 2016 году, это не инструмент а пародия.
| |
|
|
8.57, Аноним (-), 03:22, 19/03/2016 [^] [^^] [^^^] [ответить] | +1 +/– | Кто будет доделывать за микрософтом их сопли и что о них можно сказать - понятно... текст свёрнут, показать | |
|
|
|
5.62, Oleg (??), 13:21, 19/03/2016 [^] [^^] [^^^] [ответить]
| +3 +/– |
Как же быстро люди объединяются против чужого успеха.
Ребята делают анализ многих открытых продуктов. И очень интересно читать такие статьи, т.к. можно увидеть и свои огрехи. Плюс приходит понимание чего нужно избегать, чтобы потом долго и нудно не искать трудноотловимые баги.
Если кому-то не нравится их продукт - хоть аргументируйте. А лучше не читайте вовсе, проходите мимо.
| |
|
6.65, Аноним (-), 15:13, 19/03/2016 [^] [^^] [^^^] [ответить] | –2 +/– | О, флюродросеры приехали Статьи скорее, статья про огрехи была бы действитель... большой текст свёрнут, показать | |
|
7.101, Sabakwaka (ok), 09:45, 21/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
Здесь граждане верят в «стандарты Си»! — они точно знают, что код исполняется одинаково на всех процессорах и еще много всякого.
| |
|
6.74, Andrey_Karpov (ok), 18:57, 19/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Как же быстро люди объединяются против чужого успеха.
> Ребята делают анализ многих открытых продуктов. И очень интересно читать такие статьи,
> т.к. можно увидеть и свои огрехи. Плюс приходит понимание чего нужно
> избегать, чтобы потом долго и нудно не искать трудноотловимые баги.
Большое спасибо за поддержку.
| |
6.86, Аноним (-), 23:33, 19/03/2016 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Как же быстро люди объединяются против чужого успеха.
Если ты придешь на микрософтовские форумы и там что-нибудь ляпнешь про Linux - тебя там быстренько забанят. Почему бы не поступать так же с MSовскими рекламерами?
> Ребята делают анализ многих открытых продуктов.
Исходники винды они не смогут проверять по техническим причинам. Интересная асимметрия, оказывается без опенсорса эти проприерасы даже пиариться не смогут. Огого.
> Если кому-то не нравится их продукт - хоть аргументируйте.
Так уже аргументировали - это ресурс про опенсорц. Какой смысл тут размахивать проприетарным плагином для студии? Это не течнет, а винда никак не основная платформа для gtk+. Факью, идите на винфаке спамить.
| |
|
5.82, Andrey_Karpov (ok), 19:37, 19/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Главное к опенсорсу никак не относятся. Требуют вьюжлстудию, которой никто из вменяемых
> разработчиков уж лет 5 не пользуется из-за плохой поддержки стандартов.
По поводу Visual Studio Вы не правы. Это один из наиболее популярных и используемых инструментов разработки.
| |
|
6.87, Аноним (-), 23:52, 19/03/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
> По поводу Visual Studio Вы не правы. Это один из наиболее популярных
> и используемых инструментов разработки.
Особенно у тех кто что-то связанное с gtk+ программирует. Если вы делаете продукт под винду и студию - при чем тут gtk+ разработчики, для начала? Идите и чикерьте свои сорцы винды и вьюжлстудии, если сможете.
| |
|
|
8.93, Аноним (-), 02:23, 20/03/2016 [^] [^^] [^^^] [ответить] | +2 +/– | Я конечно понимаю что в пиарщики идут не гроссмейстеры, но догадаться насколько ... текст свёрнут, показать | |
|
|
|
|
4.73, Andrey_Karpov (ok), 18:49, 19/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
Забавно. Часто не мы выкладываем какие-то новости. Просто людям нравятся наши заметки, и они хотят ими поделиться. Как например сейчас. Но нас всё журят за рекламу и спам. Интересно наблюдать со стороны.
| |
|
5.104, Michael Shigorin (ok), 16:22, 21/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Но нас всё журят за рекламу и спам. Интересно наблюдать со стороны.
Нас тоже журят, притом то за "рекламу", то за "про вас ничего не слышно". :)
Не принимайте близко...
PS: хотя чем ближе к тематике ресурса, тем лучше, конечно.
| |
|
6.107, chinarulezzz (ok), 13:36, 22/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
>Нас тоже журят, притом то за "рекламу", то за "про вас ничего не слышно". :)
Потому что ваша "реклама" - хуже, чем если "про вас ничего не слышно" было бы.
Промотал новости на опеннете до 2014: starterkits, госзакупки, бабах с лицензиями.
Причём, starterkits рекламирует страшный дизайн и падающие программы. А госзакупки и лицензии - проблемы и юридическую волокиту.
Вот таки дела.
P.S. Не в обиду, Миш. Знаю, говорят «критикуя - предлагай». Но мне нечего предложить.
| |
|
|
|
|
4.23, A.Stahl (ok), 20:08, 18/03/2016 [^] [^^] [^^^] [ответить]
| –3 +/– |
Ты предлагаешь мне бегать по каким-то ссылкам чтобы ознакомиться с рекламой?
Это уже за гранью моего представление об адекватности...
| |
|
5.25, Michael Shigorin (ok), 20:32, 18/03/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Ты предлагаешь мне бегать по каким-то ссылкам чтобы ознакомиться с рекламой?
> Это уже за гранью моего представление об адекватности...
Ну так адекватнЕйте же наконец -- сами просили ("иногда там даже были куски забавного кода"), сами и обижаетесь, когда кто-то не поленился подсказать ответ.
А ребята нормальные, только бы и впрямь ещё под линукс спортировались, что ли...
| |
|
6.26, Аноним (-), 21:01, 18/03/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
>только бы и впрямь ещё под линукс спортировались, что ли...
Вот именно, а то эти товарищи имеют наглость регулярно спамить рекламой своей PVS-Studio на сайтах для Linux, и при этом их продукт можно купить только как плагин к Microsoft Visual Studio, которая в свою очередь доступна только под ОС Windows. И после этого они удивляются негативной реакции Linux сообщества на их рекламу - мало того что PVS-Studio проприетарщина, так ещё и только под Windows да ещё и только под микрософтовский компилятор.
| |
|
7.31, виндотролль (ok), 21:47, 18/03/2016 [^] [^^] [^^^] [ответить]
| +3 +/– |
дружище, тебе забесплатно проверили твой любимый GTK+ на ошибки. Сказал бы спасибо.
Версию под линукс они могут продать под заказ, коробочной нету.
| |
|
|
|
10.50, gogo (?), 01:41, 19/03/2016 [^] [^^] [^^^] [ответить] | +/– | Их никто не заставляется делать чтобы работало всегда и везде Есть ынтерпрайзны... текст свёрнут, показать | |
|
|
12.53, Led (ok), 02:58, 19/03/2016 [^] [^^] [^^^] [ответить] | +3 +/– | А толку-то - доказывать Если Я уже лет 5 как пользуюсь только линуксом с ни... текст свёрнут, показать | |
12.66, Аноним (-), 15:21, 19/03/2016 [^] [^^] [^^^] [ответить] | –3 +/– | Разумеется обязана А что интересно, мы за свои деньги должны им ещё и дифирамбы... текст свёрнут, показать | |
|
|
10.58, Аноним (-), 04:20, 19/03/2016 [^] [^^] [^^^] [ответить] | –2 +/– | С нетерпением жду этого момента Пользователи откровенного г-на должны приплачив... текст свёрнут, показать | |
|
|
8.64, Аноним (-), 15:06, 19/03/2016 [^] [^^] [^^^] [ответить] | +2 +/– | Версию под линукс они продать не могут Вообще не могут, потому что её нет, и не... большой текст свёрнут, показать | |
|
7.76, Andrey_Karpov (ok), 19:17, 19/03/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
> PVS-Studio проприетарщина, так ещё и только под Windows да ещё и
> только под микрософтовский компилятор.
Я бы сказал по-другому. Наш клиент — это человек, обычно работающий в среде Windows в среде Visual C++. Именно поэтому мы ориентируемся на него в разработке, в статьях, везде. Но на самом деле PVS-Studio не плохо умеем gcc, (в Win mingw), clang. Хотя конечно поддерживаем их не так полноценно, как Visual C++.
| |
|
8.88, Аноним (-), 23:56, 19/03/2016 [^] [^^] [^^^] [ответить] | +/– | При этом не понятно что вы забыли на опеннете, спамеры Тут процент таких людей ... текст свёрнут, показать | |
|
|
6.56, Аноним (-), 03:07, 19/03/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А ребята нормальные, только бы и впрямь ещё под линукс спортировались, что ли...
Эти нормальные ребята к опенсорцу отношения не имеют. Статических анализаторов сейчас много, coverity сканирует открытые проекты на регулярной основе.
Продажа услуг по проверке сорцов - более-менее понятна. А продажа каких-то блобов для студии - вообще о чем? И почему на опеннет?
| |
|
|
|
|
|
1.4, АнонимХ (ok), 18:39, 18/03/2016 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
> указание оператора '=' вместо '==' в сравнении
Всегда стараюсь писать if(CONSTANT == variable). Но мне говорят: ты чо, сейчас же 21 век, никто уже не делает ошибок '='/'==', это не модно. А по-моему, это должно впитываться на уровне рефлексов у сишников, как ++i (вместо i++) у плюсплюсников.
| |
|
2.5, Аноним (-), 18:41, 18/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> как ++i (вместо i++) у плюсплюсников.
Интересно было бы посмотреть на компилятор, который бы это не поправил, и на код, в котором это было бы критично
| |
|
3.7, АнонимХ (ok), 18:46, 18/03/2016 [^] [^^] [^^^] [ответить]
| –3 +/– |
Это сторонники i++ должны доказывать правильность своей позиции. А то дойдем и до того, что const не нужно. ++i-оператор проще, с минимальной семантикой, поэтому его использование должно быть очевидно, i++ же - оператор с более сложной семантикой, его использование следует обосновать.
Может еще и for(;;) vs. while(true) вызывает у вас вопрос? :)
| |
|
4.34, Илья (??), 22:06, 18/03/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Может еще и for(;;) vs. while(true) вызывает у вас вопрос? :)
к черту бизнесс-логику! даешь микрооптимизации
| |
4.69, Аноним (-), 16:14, 19/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
const - промашка языка. Но, на сколько я знаю, в gcc можно переключит на mutable
| |
4.70, Аноним (-), 16:15, 19/03/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Это сторонники i++ должны доказывать правильность своей позиции
Никто никому ничего не должен
| |
4.98, Sabakwaka (ok), 00:27, 21/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Это сторонники i++ должны доказывать правильность своей позиции. А то дойдем и
> до того, что const не нужно. ++i-оператор проще, с минимальной семантикой,
> поэтому его использование должно быть очевидно, i++ же - оператор с
> более сложной семантикой, его использование следует обосновать.
> Может еще и for(;;) vs. while(true) вызывает у вас вопрос? :)
Ты ИДИОТ.
| |
|
3.16, Аноним (-), 19:28, 18/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> код, в котором это было бы критично
На интах уже много лет пофиг. А вот для всяких итераторов все еще важно. Проблема в том, что постфиксный инкремент должен запомнить "старое" значение и вернуть его после инкремента. А вот префиксный может вернуть ссылку на себя сразу после модификации.
Собственно создание временного объекта для "старых" значений в постфиксном инкременте все еще не каждый компилятор оптимизирует (даже если итератор на самом деле превращается в указатель и все функции inline).
| |
|
4.40, all_glory_to_the_hypnotoad (ok), 23:09, 18/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> ... все еще не каждый компилятор оптимизирует (даже если итератор на самом деле превращается в указатель и все функции inline).
Это всё равно не имеет значения, даже без оптимизации такая операция довольно дешёвая. Проблемы создают только совсем нетривиальные итераторы.
| |
|
|
2.6, Аноним (-), 18:44, 18/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
И конечно же компилируете свое ... с выключенными варнингами ?
| |
|
3.10, АнонимХ (ok), 18:56, 18/03/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
Конечно нет, не переводите тему. Варнинги так же должны рефлекторно восприниматься как потенциальные ошибки. Желательно Werror. А вот статический анализатор еще не использовал, кстати.
Виндовозы грешат отключением варнингов, чаще всего. Во-первых, там в стандартной библиотеке и windows-хедерах варнингов опой жуй при сборке студией. А во-вторых, проще, естественно, мышкой в свойствах проекта выбрать низкий уровень варнингов, а не осознавать, что за сообщения и как их исправить\подавить по уму
| |
|
2.18, Аноним (-), 19:40, 18/03/2016 [^] [^^] [^^^] [ответить]
| –4 +/– |
> Всегда стараюсь писать if(CONSTANT == variable). Но мне говорят: ты чо, сейчас
> же 21 век, никто уже не делает ошибок '='/'==', это не модно.
Дарю идею:
#define IF (constant, var) ... и потом в коде IF (constant, var).
| |
2.20, Другой Омномним (?), 19:49, 18/03/2016 [^] [^^] [^^^] [ответить]
| +5 +/– |
Всегда спотыкаюсь, когда читаю такой код. Привыкнуть конечно можно, но считаю, что машина должна подстраиваться под человека, а не наоборот. Компиляторы давно предупреждают о присвоении в условии, поэтому нет смысла извращаться.
| |
|
3.24, АнонимХ (ok), 20:10, 18/03/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
Наверное еще на int const n; вместо const int n; спотыкаешься? А ведь это best practice для С и плюсов, повышает внимание к деталям при чтении кода
Подстройка машины под человека - это не про С, не тот уровень
| |
|
|
|
4.63, soarin (ok), 14:12, 19/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
А ничего то, что его величество компилятор это дело крутит как хочет?
Причем разные по разному...
| |
|
|
2.67, Аноним (-), 15:26, 19/03/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Всегда стараюсь писать if(CONSTANT == variable). Но мне говорят: ты чо, сейчас
> же 21 век, никто уже не делает ошибок '='/'==', это не модно.
Код должен быть в первую очередь понятным, а уже потом всё остальное, поэтому только variable == CONSTANT. В случае с = все современные компиляторы напишут варнинг и попросят заменять = на == или поставить дополнительные скобки. И никто кроме компилятора не спасёт вас в случае variable1 == variable2.
> А по-моему, это должно впитываться на уровне рефлексов у сишников, как ++i (вместо i++) у плюсплюсников.
Нет, это ровно такой же бред.
| |
|
1.13, Андрей (??), 19:17, 18/03/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Раньше они по крайней мере открывали баги, а с Gtk+ не пожелали. Странно.
| |
|
2.46, Led (ok), 23:23, 18/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Раньше они по крайней мере открывали баги, а с Gtk+ не пожелали. Странно.
Что "странно"? Просто не поместилось нигде.
| |
2.79, Andrey_Karpov (ok), 19:29, 19/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Раньше они по крайней мере открывали баги, а с Gtk+ не пожелали.
При проверке open source проектов мы всегда сообщаем разработчикам. Если мы публикуем статью о проверке этого проекта, то ссылку стараемся отправить авторам проекта. Если мы проверили проект, но ошибок на отдельную статью не набралось, то мы все-равно отправляем авторам то, что есть.
При этом мы никогда не отправляем патчи и не открываем отдельные баги. Причин этому сразу несколько:
* Мы не знакомы с кодом и не знаем, реальную ли ошибку мы в нем нашли или все-таки нет. Для понимания этого нужно очень глубокое погружение в проект.
* Это очень много работы. Сейчас в базе уже около 10000 ошибок http://www.viva64.com/ru/examples/ . Представляете какой это объем работ?
* Наконец цель написания наших статей – показать возможность анализатора кода, который мы разрабатываем. То есть показать, что наш инструмент реально находит ошибки в настоящем, живом коде. Нам надо показать только лишь, что инструмент их находит.
| |
|
3.89, Аноним (-), 00:20, 20/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
То-есть фирмочка всучит бинарный плагин, а дальше #%$тесь как хотите, дорогие клиенты, сами разбирая 10 000 ошибок.
Тем временем, есть уже несколько онлайн сервисов, которые помогают заниматься вопросами качества, интеграции и отлова ошибок. В случае открытых проектов они из git проекта таскают коммиты и присылают отчеты, близко к реальному времени. Поэтому у них работа строится в виде накосячил - получи репорт через полчаса. А не так что вот тебе 10 000 ошибок раз в 10 лет и бодайся как умеешь. А потом эти люди с вьюжлстудией удивляются почему их считают за каких-то динозавров, с такими то практичными технологиями.
| |
|
4.99, Аноним (-), 02:25, 21/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> сами разбирая 10 000 ошибок
Продают анализатор, но не услуги по исправлению найденных им ошибок. Ты чего ожидал, что он сам исправлять ошибки будет? А может и код писать? А на кой хрен ты тогда нужен?
> — Во-первых, пирожного! Во-вторых… Вы, чего, и пальцы за меня загибать будете?
> — Ага!
> — Во-вторых, конфет! В-третьих… ну, загибайте, загибайте! А в-третьих, мороженого…
> (позже)
> — Вы, чего, и конфеты за меня есть будете?
> — Ага! | |
|
3.106, Андрей (??), 05:17, 22/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Если мы публикуем статью о проверке этого проекта, то ссылку стараемся отправить авторам проекта.
Просто в конце статьи вы не упомянули, что сделаете это. И какому именно автору/ам вы отправите. Ведь проект имеет публичную почтовую рассылку.
Да, действительно, 20 марта исправления были внесены в Gtk+. Не уточнял ещё все ли, но те, что видел вошли в релиз Gtk+ 3.20.
> При этом мы никогда не отправляем патчи и не открываем отдельные баги
В GNOME можно даже патчи слать, они и их успешно игнорируют. Удивлён, что в этот раз хватило просто ссылки на статью. Впечатлились, наверное, постыдились и не стали откладывать на год-другой-третий.
Кстати, а пробовали уже coreboot обследовать? Должно быть крепкий орешек, т.к. low level C. А FreeRTOS, contiki-os?
| |
|
|
1.14, Старик (?), 19:17, 18/03/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +11 +/– |
>приведение знакового типа к беззнаковому, указание оператора '=' вместо '==' в сравнении, использование одной переменной для внешнего и вложенного циклов
Ох…еть! Это, типа, «опечатки и мелкие недочеты»?! Тогда и «rm -rf / usr/lib/mylib» это просто «мелкий недочёт».
| |
1.19, Аноним (-), 19:43, 18/03/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> указание оператора '=' вместо '==' в сравнении
> приведение знакового типа к беззнаковому
А компиляторы разве не ругаются на такое?
| |
|
2.22, тоже Аноним (ok), 20:01, 18/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
for(int i = 0; i < child.size(); ++i) {
if(value = child[i].value) {
useValue(&value);
}
}
В этом коде - то самое приведение (которое никак не приведет к проблемам, если child - это, например, дочерние элементы формы, и их никак не может быть больше сотни).
А также используется = в if, только не "вместо", а именно так, как задумано - и компилятор, естественно, спокойно это воспринимает. Впрочем, отличить опечатки такого рода от задуманного присвоения компилятор, увы, не в состоянии.
| |
|
3.27, другое Имя (?), 21:08, 18/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Впрочем, отличить опечатки такого рода от задуманного присвоения компилятор, увы, не в состоянии.
if((value = child[i].value))
И никакого предупреждения от компилятора не будет.
| |
|
4.37, тоже Аноним (ok), 22:43, 18/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
Ну, уж если стараться над кодом, то стоит явно прописать сравнение с нулем, чтобы не только компилятору все было ясно с первого взгляда.
Речь не о хороших привычках, стиле и прочем, а о том, что сама семантика языка вполне допускает то, на что компилятор и статический анализатор делают стойку.
И польза от переписывания всех подобных мест в проекте масштаба GTK+ неочевидна - во-первых, это куча человекочасов специалиста, во-вторых, легко можно наделать новых ошибок при таких исправлениях. Или обнаружить, что одна ошибка компенсировалась другой, а теперь это сломано, и надо лезть глубже.
| |
|
3.38, Аноним (-), 22:46, 18/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
if(int value = child[i].value) уже явно не очепятка, но это уже кресты.
| |
|
4.47, Led (ok), 23:25, 18/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> if(int value = child[i].value) уже явно не очепятка, но это уже кресты.
Кресты. Крассные. Т.е. - клиника.
| |
|
|
|
|
|
3.90, Аноним (-), 00:25, 20/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Называется american fuzzy lop
Отличный тул, опенсорсный и в отличие от плагина для студии работает под Linux. Но все-таки он заходит к проблеме с другого бока, это не статический анализ а осмысленная "атака". Есть еще asan/ubsan/tsan - эти для чуть иных ситуаций, но в пару к afl их взять самое то.
| |
|
|
1.61, Аноним (-), 12:43, 19/03/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>...использование одной переменной для внешнего и вложенного циклов,...
это должен отлавливать компилятор
| |
1.72, Аноним (-), 17:52, 19/03/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Толку от этого маловато - в C/C++ с этой задачей хорошо справляется компилятор. Такие утилиты нужны в безумно-типизированных, плохо-спроектированных языках, типа JavaScript.
А для отлова серьёзных ошибок у проекта должны быть хорошо документированные требования и грамотно написаннные функциональные тесты.
| |
|
2.81, Andrey_Karpov (ok), 19:34, 19/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Толку от этого маловато - в C/C++ с этой задачей хорошо справляется
> компилятор. Такие утилиты нужны в безумно-типизированных, плохо-спроектированных языках,
> типа JavaScript.
Не совсем понятно, про что речь. Но если о том, что для С/С++ статический анализатор не нужен, то это очень далеко от истины. Как раз вот здесь то он очень даже нужен.
Proof: http://www.viva64.com/ru/a/0084/
| |
|
|