Re[9]: Долгая компиляция на с++ - смерть для больших проектов?
От: landerhigh Пират  
Дата: 30.04.16 21:14
Оценка:
Здравствуйте, _hum_, Вы писали:

__>ну вы же просто написали тесты, которые могут сказать, есть ли ошибка в написанном коде или нет (и то не всякая, ибо вы не все варианты можете покрыть). а как быть, если ошибка-таки обнаружилась — сработали ваши ассерты?

__>как вы код править будете?

Эээ... путем нажатия на соответствующие клавиши на клавиатуре в редакторе кода, как же еще?
Я серьезно не понимаю, в чем вопрос.

L>>Ты мне лучше скажи, зачем тут вообще отладчик может понадобиться?


__>ну, например, в коде вы сделали описку — вместо resulted[i][j] = original[j][i] написали resulted[i][j] = original[i][j]Э, или у вас эксепш при вызове функции вылетает (вы неправильно рассчитали размерность транспонированной матрицы)


Соответствующий юнит-тест на это укажет:
TEST(transpose, matrixDimensions)
{
    // это вообще можно сделать в цикле, чтобы проверить все возможные варианты.
    // но обычно не надо, т.к. правильность алгоритма можно индукцией
    Matrix transposed = transpose(getMatrix(1,10));
    ASSERT_EQ(matrix::dimension(10,1), transposed);
}


Если тест ломается, то это практически прямое указание, что именно и где нужно править.

__>мне кажется, вы просто работаете на уровне, когда берете готовые блоки и начинаете их компоновать между собой. в этом случае, да, дебагер не очень нужен — обнаружили нестыковку — заменили блок и компоновку.


Когда кажется, нужно (и далее по тексту).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.