Здравствуйте, _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);
}
Если тест ломается, то это практически прямое указание, что именно и где нужно править.
__>мне кажется, вы просто работаете на уровне, когда берете готовые блоки и начинаете их компоновать между собой. в этом случае, да, дебагер не очень нужен — обнаружили нестыковку — заменили блок и компоновку.
Когда кажется, нужно (и далее по тексту).