Tytuł mówi wszystko. Moja firma ponownie używa starszego projektu oprogramowania układowego dla urządzenia mikrokontrolera, napisanego całkowicie zwykłym C.
Są części, które są oczywiście błędne i wymagają zmiany, a pochodzące z tła C # / TDD Nie podoba mi się pomysł losowego refaktoryzowania rzeczy bez testów, które zapewniłyby nas, że funkcjonalność pozostaje niezmieniona. Widziałem też, że trudne do znalezienia błędy były wprowadzane przy wielu okazjach poprzez najmniejsze zmiany (co, moim zdaniem, zostałoby naprawione, gdyby zastosowano testy regresji). Należy bardzo uważać, aby uniknąć tych błędów: ciężko jest śledzić kilka globali wokół kodu.
Podsumowując:
- Jak dodać testy jednostkowe do istniejącego ściśle powiązanego kodu przed refaktoryzacją?
- Jakie narzędzia polecasz? (mniej ważne, ale wciąż miło wiedzieć)
Nie jestem bezpośrednio zaangażowany w pisanie tego kodu (moja odpowiedzialność to aplikacja, która będzie współdziałać z urządzeniem na różne sposoby), ale byłoby źle, gdyby pozostawiono dobre zasady programowania, gdyby istniała szansa na ich wykorzystanie.