Компилятор или компьютер не могут прочитать ваши мысли и угадать, что вы хотели написать вместо того, что вы действительно имели в виду.
Даже если эта ошибка приводит к ошибке, он не может знать, чтовы не намеревались писать это, или что вы хотели написать что-то другое.
Даже когда эта ошибка приводит к тому, что ваша программа имеет неопределенное поведение, невозможно обнаружить много случаев неопределенного поведения,и автору компилятора не стоит пытаться писать код для этого, потому что это слишком сложно и недостаточно полезно.Даже если бы они это сделали, компилятор все равно не мог бы угадать, что вы имели в виду.
Помните, что подобные циклы не имеют для проверки или увеличения той же переменной, которую вы объявили в преамбуле;это просто общий шаблон (теперь заменен более безопасным оператором дальнего радиуса действия).Нет ничего плохого в том, чтобы иметь цикл, который увеличивает i
, но проверяет j
.
В конечном счете, решение этой проблемы заключается в написании tests для вашего кода, поэтому многиеВ организациях есть специальные группы обеспечения качества для поиска ошибок и того, почему вы должны уже тестировать свой код, прежде чем вносить его в свой проект.
Не забывайте концентрироваться, уделять пристальное внимание и читать ваш коди в конечном итоге такие опечатки станут менее распространенными в вашей работе.Конечно, время от времени вы будете писать ошибку, и ваши тесты ее поймут.Иногда ваши тесты не будут ловить его, когда ваши клиенты в конечном итоге заметят это и подадут жалобу.Затем вы выпускаете новую версию, которая исправляет ошибку.
Это абсолютно нормальная практика разработки программного обеспечения.Вот что делает это забавным!?