リファクタリング
においの出どころを探し当てるのが困難なことは承知しているはずだ。
こんにちは。『リファクタリング』についてお話しします。リファクタリングそのもの定義より、『リファクタリング』が聞こえてきたときに感じとるべきことについてお話しします。
リファクタリングとは
『リファクタリング』とはプログラムの動作を変えずに中身を変えることです。こんがらがった配線を、タグ付けしたり色分けしたりして整理するイメージです。なお、必ずしも新しいものや高性能なものに置き換えることを指しません。
コードから怪しいにおいがする
整頓された環境で仕事をするのはとても楽しいことです。新しい要望に積極的に応えたくなります。同僚との信頼関係は深くなり、きっと多くの人と仲良くやっていけることでしょう。
一方で「こんがらがった」配線を触るのは危険な作業です。まちがって重要な配線を変更してしまうかもしれません。危険な作業にはとうぜん時間がかかります。
また、間違いを起こしたら責任を問われるかもしれません。心理的プレッシャーがさらに作業を遅くします。あなたが開発リーダーなら「もう触るな」と叫んで開発をストップさせるかもしれません。
そんな背景から、エンジニアはこの種の 「こんがらがり」を「怪しいにおい」として感じとり 『リファクタリング』が必要だと言うのです。
プロジェクトから怪しいにおいがする
ときに、プロジェクトを進めるなかで『リファクタリング』が聞こえてきたときには、ちょっと注意が必要です。2点あります。
1点目、これは簡単なことなのですが、リファクタリングは目に見える成果物を生み出しませんので、それを実施するタイミングについてよく考える必要があります。政治問題化します。
2点目、「怪しいにおい」の出どころについてです。それは本当に私たちのコードからなのでしょうか?どんな危険や痛みがあるのでしょうか、具体的にそれがなにかを調べなければなりません。
「自分の考えと違う」「他社にくらべてうちの技術は古い」「人間関係がつらい」「プロジェクトの趣旨に共感できない」とか、じつはそういう背景から『リファクタリング』が聞こえてきたのかもしれません。
そのようなことならば、プロジェクトの目的をもう一度話し合ったり、適材適所になるようメンバーの組み換えが必要だったりするでしょう。
おわりに
『リファクタリング』が必要、と聞こえてきたとき、それを技術的問題とのみとらえないほうが良いと私は考えています。プロジェクトや組織にもなにか整頓すべき問題があるのかもしれませんね。
本当に痛みを減らす『リファクタリング』ならやるべきで、関心事を他に向けて(技術的問題のみに夢中になって)痛みを麻痺させるだけの『リファクタリング』ならやらないほうが良いです。
最後までお読みいただきありがとうございました。
◇
初出は note です。
August 29, 2021