メインコンテンツまでスキップ

Gitの「安全性」が実現する「一括置換」の活用

もう、一括置換が怖くない。面倒じゃない。

とある会社では、「一括置換禁止」のルールが厳守されていた

ファイルを跨いで、フォルダ全体でキーワードを検索して、置き換えをする「一括置換」これを行ったがために、どこか観測が及ばないところが変更されてしまい、ソフトウェアにバグが起こってしまったことがあるそうです。

「だから、一括置換は使うな」口をすっぱくして言われました😅

が、そのようなリスクは、現代ではGitによって解決されています。

一括置換をGitで検閲する

Git管理下であれば、一括置換はとりあえずやってしまえば良いのです。

とりあえず行った後に、Gitでその影響範囲が適切であるか?を検閲します。

ソース管理のツリービューボタンで、Diffのリストにフォルダを交えて表示するようにします。

どのフォルダのどのファイルに影響があったのか、一目瞭然ですね。

意図しないファイルに変更を見つけた場合、「変更を破棄」ボタンを使って、フォルダか、ファイルの変更をもとに戻すことができます。

(Diffがあるファイルをプレビューで見に行くことも忘れずに)

一括置換

リファクタリングが怖くない

「おかしなクラス名にしてしまったが、動かなくなるの嫌だし、時間ないし、そのままにしておこう」

これは、保守性を著しく低下させる原因になります。

たとえば、一見大したことないように感じる「Typo」の類のスペルミス。これが、どのようなリスクを生み出すかは、先人たちが語っている通りです。

参考: なぜtypo(スペルミス)がいけないのか?

Gitは精神と時間に余裕をもたらしてくれますので、「読みやすいコード」に労力を投資するようにしてみてください。結果として仕事が楽になるはずです。

IDEの「参照置き換え」ももちろん使う

参照置き換えで良い場面は、もちろん多くあります。「一旦思うようにやってみることができる」というのが、Gitを使う本来の強みです。なんでも使ってください。

「正規表現」を極めたくなる

VSCodeに限ったことではなく、あらゆるIDEで、一括置換には、正規表現を使うことが出来ます。今までそこに置いてあったが、使えていなかった武器です。正規表現を使っていきましょう。