Название говорит само за себя. Моя компания повторно использует устаревший проект прошивки для устройства с микроконтроллером, полностью написанный на простом C.
Есть части, которые явно не соответствуют действительности и нуждаются в изменении, и исходят из опыта C # / TDD. Мне не нравится идея случайного рефакторинга без тестов, чтобы гарантировать, что функциональность останется неизменной. Кроме того, я видел, что трудно найти ошибки, которые были внесены во многих случаях из-за малейших изменений (что, я считаю, было бы исправлено, если бы использовалось регрессионное тестирование). Чтобы избежать этих ошибок, нужно быть очень осторожным: трудно отследить кучу глобальных переменных вокруг кода.
Подвести итоги:
- Как добавить модульные тесты в существующий тесно связанный код перед рефакторингом?
- Какие инструменты вы рекомендуете? (менее важно, но все же приятно знать)
Я непосредственно не участвую в написании этого кода (моя ответственность - приложение, которое будет взаимодействовать с устройством различными способами), но было бы плохо, если бы остались хорошие принципы программирования, если бы была возможность их использовать.