У заголовку все сказано. Моя компанія повторно використовує застарілий проект мікропрограмного забезпечення для пристрою мікроконтролера, написаного повністю на простому С.
Є частини, які, очевидно, неправильні і потребують змін, і виходять із фону C # / TDD. Мені не подобається ідея випадкового рефакторингу матеріалів без тестів, щоб запевнити нас, що функціональність залишається незмінною. Крім того, я бачив, що важко знайти помилки вводилися багато разів через найменші зміни (що, на мою думку, було б виправлено, якби було використано тест регресії). Потрібно бути дуже обережним, щоб уникнути цих помилок: важко відстежити купу глобальних кодів навколо коду.
Узагальнити:
- Як ви додаєте тестові одиниці до існуючого щільно зв'язаного коду перед рефакторингом?
- Які інструменти ви рекомендуєте? (менш важливо, але все одно приємно знати)
Я не беру безпосереднього участі в написанні цього коду (моя відповідальність - це додаток, який взаємодітиме з пристроєм різними способами), але було б погано, якби хороші принципи програмування були залишені, якщо б була можливість їх використовувати.