タイトルはそれをすべて言います。私の会社は、完全にプレーンCで記述されたマイクロコントローラーデバイス用のレガシーファームウェアプロジェクトを再利用しています。
明らかに間違っており、変更が必要な部分があります。C#/ TDDのバックグラウンドから来たので、機能を変更しないことを保証するためのテストなしでランダムにリファクタリングするというアイデアは好きではありません。また、バグを見つけるのが難しいことは、わずかな変更(多くの場合、回帰テストを使用した場合に修正されると思います)によって導入されたことがわかりました。これらの間違いを避けるために、多くの注意を払う必要があります。コードの周りの多くのグローバルを追跡するのは難しいです。
要約する:
- リファクタリングする前に、既存の密結合コードに単体テストをどのように追加しますか?
- どのツールをお勧めしますか?(それほど重要ではありませんが、知っておくといいです)
私はこのコードの作成には直接関与していません(私の責任はさまざまな方法でデバイスと対話するアプリです)が、使用できる可能性がある場合、良いプログラミングの原則が残されていると悪いでしょう。