Я хочу изучить TDD для работы в линейной алгебре (или в основном с матрицами) в научном программировании (квантовая химия). Однако, поскольку промежуточные продукты неизвестны, и единственное, что иногда известно, это конечные результаты, я не знаю, как это сделать.
Можете ли вы показать мне, как вы бы сделали TDD в приведенном выше примере?
for i,j = start1:end1, k,l = start2:end2
A[i,j] = B[i,k] * C[k,l] * D[l,j]
end
, где A - новая матрица, вычисленная в функции.
с B C D, являющимися предопределенными матрицами.
где start1, start2, end1, end2 являются предопределенными целыми числами.
В обычной программе у меня около 20 таких блоков. Так что я думаю, что ничего не знаю о новом A.
Большинство ошибок, которые у меня есть, это простые ошибки при наборе, например,
B[k,i]
вместо вышеуказанного.
Единственная схема отладки, которую я могу сделать, если конечный результат неверен, - это написать все дважды, а затем проверить и A, и надеюсь, что я не повторил одну и ту же ошибку дважды.