Конечно, но в основном во время интервью, так сказать, «требуют написать с нуля», это я к тому, что если вопрос «напишите функцию, сортирующую массив» требуют именно написания функции, а не использования, скажем, std::sort. Это так мне кажется)) Во всяком случае со мной всегда так было)
Это для того, чтобы случайно перепутав "==" с "=", сразу получить ошибку компиляции. В случае «обычного» стиля — логическую ошибку очень трудно выявить.
Пятый же классический пример переполнения буфера. С " В нём нет достаточной информации чтобы определить, есть там ошибка или нет. " согласен, но у меня такое мнение, что я вас не понимаю. Нет — это не сарказм. Если дело в оформлении поста или что-то еще… Не знаю, мне кажется вы просто пытаетесь доказать, что я написал «не нужный пост».
Один из плюсов поставил я. Это так, в качестве инфы.
А настолько корректными являются примеры — они ведь все детально рассмотрены, особенно первые четыре (в предыдущем посте, ссылка есть в этом посте, в введении). Если есть что добавить — пожалуйста.
> Давайте я патч к GCC сделаю, который будет на каждый вызов любой функции выдавать сообщение «possibly unsafe function called %s». Это будет, по-вашему, идеальный анализатор?
Это уже ребячество, простите.
> Вы впервые запустили VS и удивились потоку бесполезных предупреждений, приняв их за полезные.
Опять, как вы догадались? Молодцом!
Просто разместил объяву. Протест вроде «ваш пост плохой» ничего не говорит. И еще, просто скажите, что конкретно вас не устраивает? Если что надо поправить или улучшить — я готов!
Вот и началось долгая коммента-дискуссия! Я не написал предупреждения VS как сравнение, а в качестве информации, что именно выдала студия. Я не имел ввиду, что PVS должна была выдавать тоже, что и VS.
А на счет того, чтоб написать что-нибудь сложнее «Hello World» — а как вы догадались что я ничего сложнее не написал? Раньше никто не замечал)))
Не то, чтоб задача невыполнима, а то, что сложна, и от этого не следует, что такой утилиты не следует выпускать. Лично я хочу и считаю нужным использовать статический анализатор. Во-первых, насколько бы код не был хорош, всегда появляются ошибки из-за невнимательности. Во-вторых, статический анализатор — это как бы коллега-ревьюер, на всякий случай проверяет ваш код.
Спасибо за все, реально, конечно же, критика здесь не имеет место. Мне «конкретно» интересно, какой анализатор, так сказать, лучше.
Код на C++ — это нечто, безошибочный код — это искусство. Мы все стремимся к совершенству, поэтому нам нужны анализаторы, пока не мере, нам кажется, что они нам нужны. И вот, увидев качественный продукт, нам нужны гарантии, чтобы использовать ее до конца своих дней!
Умеренная критика лучше всех помогает улучшить сам продукт. Системы защиты софта улучшились после «налета» крэкеров. Может статические анализаторы станут превосходными после «налета» человеческого анализа?
Конечно же незачем, пока не мере для PVS-Studio, которая сидит над VS. Для компиляторо-независимых анализаторов будет сложно выявить какой компилятор какое предупреждение выдает (как минимум).
И еще, на всякий случай
А настолько корректными являются примеры — они ведь все детально рассмотрены, особенно первые четыре (в предыдущем посте, ссылка есть в этом посте, в введении). Если есть что добавить — пожалуйста.
> Давайте я патч к GCC сделаю, который будет на каждый вызов любой функции выдавать сообщение «possibly unsafe function called %s». Это будет, по-вашему, идеальный анализатор?
Это уже ребячество, простите.
Опять, как вы догадались? Молодцом!
Просто разместил объяву. Протест вроде «ваш пост плохой» ничего не говорит. И еще, просто скажите, что конкретно вас не устраивает? Если что надо поправить или улучшить — я готов!
А на счет того, чтоб написать что-нибудь сложнее «Hello World» — а как вы догадались что я ничего сложнее не написал? Раньше никто не замечал)))
«Сомневаться в профессионализме оппонента — лютый враг профессионализма!» © я, только что.
Код на C++ — это нечто, безошибочный код — это искусство. Мы все стремимся к совершенству, поэтому нам нужны анализаторы, пока не мере, нам кажется, что они нам нужны. И вот, увидев качественный продукт, нам нужны гарантии, чтобы использовать ее до конца своих дней!
Умеренная критика лучше всех помогает улучшить сам продукт. Системы защиты софта улучшились после «налета» крэкеров. Может статические анализаторы станут превосходными после «налета» человеческого анализа?