Вчера потратил почти два часа на то, чтобы найти ошибку во вроде бы правильном коде. Проблема оказалась банальной — в ключ массива «text» каким-то образом попала кириллическая буква «е». По виду она не отличается от «e» латинской, и найти проблему оказалось очень нелегко. Уверен, большинство программистов, да и просто людей, которые работают с текстовой информацией, время от времени сталкиваются с подобными неприятностями. Особенно это касается английской буквы «си» и русской «эс», которые находятся на одной и той же клавише в русской и английской раскладках. У меня этот случай далеко не первый, и поэтому я решил заняться поиском решения данной проблемы вплотную. И решение — пусть не очень элегантное, но вполне работоспособное — нашлось.Читать полностью »
Рубрика «ошибки в коде» - 9
Notepad++. Кириллические символы, ошибочно попавшие в код — решение проблемы
2012-07-08 в 18:30, admin, рубрики: notepad++, кириллица, ошибки, ошибки в коде, Песочница, метки: notepad++, кириллица, ошибки, ошибки в кодеИтак, вы решили запретить копирование объектов класса в C++
2012-04-23 в 11:54, admin, рубрики: c++, Блог компании ABBYY, ошибки в коде, метки: c++, ошибки в кодеДовольно часто можно встретить код на C++, в котором у одного или нескольких классов конструктор копирования и оператор присваивания объявлены private и написан комментарий вида «копирование запрещено».
Прием простой и с виду очевидный, тем не менее, при его использовании возможны подводные камни, приводящие к ошибкам, которые проявятся нескоро и поиск которых может занять не один день.
Рассмотрим возможные проблемы.
Читать полностью »
Ревизия кода / Повторная проверка проекта Notepad++
2012-02-13 в 10:28, admin, рубрики: c plus plus, code review, notepad++, pvs-studio, обзор кода, ошибки в коде, статический анализ кода, метки: c plus plus, code review, notepad++, pvs-studio, обзор кода, ошибки в коде, статический анализ кода
Прошло более года, как мы проверили Notepad++ с помощью PVS-Studio. Интересно посмотреть, насколько анализатор PVS-Studio стал лучше, и что было исправлено в Notepad++ из прежних ошибок.
Введение
Итак, мы проверили проект Notepad++ взятый из репозитория 31 января 2012. Для проверки использовался анализатор PVS-Studio версии 4.54.
Как уже было сказано, мы ранее проверяли этот проект. Ошибок нашли не много, но всё-таки что-то нашли. В новой версии проекта часть старых ошибок исправлена, а часть нет. Это странно. По всей видимости, прежняя заметка осталась незамеченной авторами Notepad++ и они не воспользовались PVS-Studio для проверки проекта.Читать полностью »