INTP型のブログ

苦味があるな?

リファクタリングは諦めろ

 

 

多くの場合、必要なリファクタリングビジネスロジックが変更されるなどして、根本的に仕様の見直しを行い、影響範囲を洗い出した上で他メンバーの開発と衝突しないようにコミュニケーションを取りながらやる。(リファクタリングじゃなくて改修では?それはそう)

 

大変とかいうレベルじゃないものになるので、参入した新規エンジニアがちょちょいでリファクタリングできるようなものは、体の良い自分の読みやすいコードへの変換でしかない。みたいなところがある気がします

 

例えばショートハンドへの変換とか。型付け言語だとanyになっているところをちゃんと型定義するとか

 

後者に関してはきれいに付いてると可読性高いし好きだけど、とはいえ入ってきていきなりその辺全部キレイにしたいとかいうタイプの人、我がクソ強そうなので色々大変そうだなぁという気はする。我が実装に合わせよ愚民ども。みたいに見える。

 

やるとしても自分が着手する範囲をとりあえずやれば良いのではという気持ちがある

 

経営者目線だと工数を確保するだけの理由がないと、お客さんがいるタイプの開発とかだったりすると客先にそれどうやって説明すんねんとかいう話にもなってきそうなので、リファクタリングは諦めようという気持ちになる

 

結局一番必要なところはもうどうしようもない感じになってるし、大体

 

 

本当にこれ。

 

こういう人間卒業してそうな人だったらいけるのかもしれない

 

ただ流石に内製のシステムだろうという気はする。入社が4月だと考えると2ヶ月近くやってるとかなのだろうか

これもある

今自分が触っているコードがまさにこれ

 

一つのクラスに2種類のタイプを兼用するような形で作成した結果、それぞれのタイプが独自進化を続けていき、枝葉の部分が常にそのタイプを意識して条件分岐を細かく指定していかなければならず、とにかくネストが深い

 

更にいうと初期化処理のときにそれぞれのタイプが進化を遂げることを考慮していない形で作られていたので、後続の人間がそこを改修せずに進化を吸収するような実装で対応した結果、なんかもうあちらこちらで状態変化がおこっていてヘルプミーという感じ。

 

ずっと見てたのでどこで何起きてるか流石に覚えたからなんとかならんこともないけど、初見の絶望感は酷いし、そういうときはやっぱりリファクタリングしたくなる

 

でもいざやったら密結合の嵐だし、新規実装とは衝突するしで100%挫折すると思ってるので共存するか逃げるかしかエンジニア個人には選択肢がないのではと思ったりした。化け物ならできるかもしれないけど、個の力だけでは無理な部分はあるので組織を説得する何らかの力も必要なのではと思う