Логическая ошибка - что это в программировании

Логическая ошибка -- ошибка, которая не приводит к аварийной остановке работы программы, но в итоге является причиной того, что результат работы программы становится не таким, как ожидалось ("неверным").

Пример логической ошибки

Программисту (в вакууме) поставили задачу реализовать функцию умножения чисел, он подумал что раз 2*2 = 4
и 2 + 2 = 4 (частный случай), то умножение и сложение - это одно и то же (не налегал на математику в школе) и реализовал умножение просто сложением двух чисел.

Подобная неправильная реализация функции умножения будет обладать точно такой же, как и правильная реализация сигнатурой, а потому программа продолжит работать, после вызова данной функции, но вот использовать её в математических расчетах будет крайне опасно.

Опасность логических ошибок

В каком-то смысле логические ошибки опаснее синтаксических, так как если система сложная , ошибка незначительна (не заметна сразу) и для данного кода не было написано тестов, то она может очень долго не исправляться (из-за того, что не исправляется) и это может привести неизвестно к каким последствиям, которые наступят неизвестно когда.

Как бороться с логическими ошибками

С логическими ошибками следует бороться написанием тестов.

Key Words for FKN + antitotal forum (CS VSU):