Программисты допускают невероятное количество опечаток, простых логических ляпов и делают ошибки благодаря Copy-Paste. Приглашаю отпробовать их. Приятного аппетита.
Программисты часто думают, что ошибки, отнимающие больше всего времени очень сложные и коварные. А простые ошибки они не делают.
Это конечно не так. Делают, и в сумме тратят на их исправление огромное количество времени и сил. Просто мелкие ошибки не запоминаются. Гораздо лучше запомнится эпическое сражение с ошибкой синхронизации, отнявшей целый день. Да, сложные ошибки тоже могут отнимать много времени. Главное, что суммарный вред от мелких ошибок тоже может быть огромен. Подробнее эта мысль изложена в заметке: Миф второй – профессиональные разработчики не допускают глупых ошибок.
Проверяя различные проекты с помощью PVS-Studio, я пополняю базу найденных ошибок. Сейчас я выбрал те диагностические сообщения, которые выявляют: ляпы, опечатки и неправильный Copy-Paste. Читайте и ужасайтесь:
- V501. Copy-Paste и опечатки в условиях.
- V502. Путаница с приоритетами операций.
- V517. Одинаковые «if» из-за Copy-Paste.
- V519. Вредные опечатки.
- V523. Бессмысленные «if» из-за скопированных блоков.
- V524. Функции, изготовленные с помощью Copy-Paste.
- V529. Лишние точки с запятой ";".
- V547. Глупые ошибки, такие как проверка: unsigned переменная < 0.
- V560. Путать & и && — легко.
- V579. Как легко спутать длину строки и размер указателя.
- V595. Проверка указателей, сделанная «для галочки».
Это далеко не все глупые ошибки, но наиболее показательные. Желаю приятного просмотра. Весь список примеров находится здесь.
Автор: Andrey2008