Я привык кодировать на C # в стиле TDD - написать / или изменить небольшой фрагмент кода, пересобрать за 10 секунд все решение, заново запустить тесты и снова. Легко...
Эта методология разработки работала очень хорошо для меня в течение нескольких лет, пока в прошлом году мне не пришлось возвращаться к кодированию на C ++, и с тех пор я действительно чувствую, что моя производительность резко снизилась. C ++ как язык не проблема - у меня было довольно много опыта разработки на C ++ ... но в прошлом.
Моя производительность все еще в порядке для небольших проектов, но она ухудшается, когда с увеличением размера проекта и после того, как время компиляции достигает 10+ минут, это становится действительно плохо. И если я найду ошибку, мне придется снова начать компиляцию и т. Д. Это просто расстраивает.
Таким образом, я пришел к выводу, что для небольших кусков (как и прежде) это неприемлемо - любые рекомендации, как я могу в течение часа или около того привыкать к старой привычке кодирования, при просмотре кода вручную (без использования быстрого компилятора C #) и только перекомпиляция / повторный запуск модульных тестов один раз в пару часов.
С C # и TDD было очень легко написать код эволюционным путем - после дюжины итераций любая дерьмо, с которого я начинал, заканчивалось в хорошем коде, но это просто больше не работает для меня (в медленной компиляции окружающая обстановка).