Re: C++ illegal instruction
От: serg_joker Украина  
Дата: 06.08.25 16:02
Оценка: +3
Здравствуйте, alpha21264, Вы писали:

Допустим, по каким-то очень важным причинам мы не можем настроить проект так, чтобы он был чист с точки зрения предупреждений компилятора и мы просто увидели, что ф-ция может проваливаться в ветку без return. Хотя это само по себе вызывает у меня вопросы к коду и людям, его поддерживающим.

Но вот дальше, я вот реально не понимаю, вот ТС и люди, солидарные с ним.
Вы действительно хотите, чтобы для такого кода:
bool ShouldBackup(int day) {
    if (day % 2)
        return false;
    // ну забыли `return true`, с кем не бывает
}

void BackupOnEvenDay() {
    if (ShouldBackup(dayOfYear())) {
        backup();
    }
}


, вместо того, чтобы программа упала с криком "чувак, ты налажал!", ф-ция ShouldBackup была просто тождественно равной false?
И потом отлаживаться сильно дальше, не понимая, какого хрена? Ясно, что в таком плоском примере всё очевидно, но обычно же оно сильно не так.

Неужели быстрая смерть, ровно один раз, с крайне простой диагностикой хуже, чем, программа, которая ведёт себя странно?
А если ф-ция возвращает int, на который сильно позже что-то делится? Один хрен будем иметь креш (вы же хотите, чтобы компилятор нолик втулил за вас), только не в том месте, где это элементарно диагностируется и чинится.

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

Имхо, детерменированно нерабочая программа лучше, чем программа, только похожая на рабочую.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.