Judulnya mengatakan itu semua. Perusahaan saya menggunakan kembali proyek firmware lawas untuk perangkat mikrokontroler, ditulis sepenuhnya dalam bahasa C.
Ada bagian-bagian yang jelas-jelas salah dan perlu diubah, dan berasal dari latar belakang C # / TDD saya tidak suka gagasan untuk secara acak melakukan refactoring tanpa ada tes untuk meyakinkan kami bahwa fungsionalitas tetap tidak berubah. Juga, saya telah melihat bahwa sulit untuk menemukan bug diperkenalkan di banyak kesempatan melalui perubahan sekecil apa pun (yang merupakan sesuatu yang saya percaya akan diperbaiki jika pengujian regresi digunakan). Banyak kehati-hatian yang harus diambil untuk menghindari kesalahan ini: sulit untuk melacak sekelompok global di sekitar kode.
Untuk meringkas:
- Bagaimana Anda menambahkan tes unit ke kode yang sudah digabungkan sebelumnya sebelum melakukan refactoring?
- Alat apa yang Anda rekomendasikan? (kurang penting, tapi tetap menyenangkan untuk diketahui)
Saya tidak terlibat langsung dalam penulisan kode ini (tanggung jawab saya adalah sebuah aplikasi yang akan berinteraksi dengan perangkat dengan berbagai cara), tetapi akan menjadi buruk jika prinsip-prinsip pemrograman yang baik ditinggalkan jika ada kemungkinan mereka dapat digunakan.