LoginSignup
1
2

More than 5 years have passed since last update.

c > 構造体の変更対応 > 2つの選択肢

Last updated at Posted at 2016-10-04

計算処理ルーチンを実装している中で、「構造体をまったく別物にしたい」と言われたときの対応。

状況

  • データや設定を構造体で定義
  • 複数のソースとヘッダでその構造体を使用
    • ファイルスコープstatic関数: 33個
    • public関数: 9個
  • テスト駆動開発で実装してきたのでテストできる環境がある

選択肢

  1. 今あるソースを書換えていく
    • 欠点: 構造体変更時のコードの破損に気づかない
    • 欠点: 破損したときに「正しい値は何か」を調べるのが難しい
  2. 新しいソースを作って、そちらで実装していく
    • 利点: 元環境と比べて、おかしいところを突き止められる

5時間で変更できた。
去年の自分は方法1を採用していて、同じような作業の場合数日を要していた。

  • テストは大事
  • どう進めるかの検討も大事

もっといい方法はあるだろうか?

  • gitでbranchを切り替えながら比較するというのはどうか
    • branch切替え時のコンテキストスイッチに自分が対応できるかどうか
  • 旧コードの実行ファイルを作っておくのはどうか
    • 比較する時に詳細を追うのは難しそう。
1
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2