gallu’s blog

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

リファクタリング?

リファクタリングが「因数分解を語源としている」説があるというのが調べていてわかった、というのは置いといて。
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?EtymologyOfRefactoring


リファクタリングの定義はおおざっぱに書いて「外部挙動変えずに内部を劇的ビフォーアフター」ってのは、まぁおおむね同意がとれるところだと思うんです。


最近故ありまして、複数の会社さんのソースのリファクタを一気にやってます。
………んとね。リファクタにならないの。


大体、リファクタせざるを得ないほどに「どえりゃぁ事になっている」ところって、そも「今の挙動でいいかわからないっていうかバグってるからまずいよねぇ」な所が多くて。
かつそれらは「正しい仕様が不明である」ことも多々。ちなみにほぼ必須オプションなのは「担当者は現在社にいない」で、高確率で「担当者は外注さんで仕様書出さずに消えた」。


つまり「外部挙動変えずに」という原則が、そも大抵通用しないです。
現状、たいていの場合の流れは「現在のソース見ぃつつ明らかな問題点は直しつつ仕様の確認しつつ必要に応じて仕様変更に応じつつ場合によっては仕様追加に応じつつ」な流れになるです。ちなみに 後ろになるほどプライオリティ下がってます。
これをリファクタとはいわないとおぢちゃんは思うな。


っちゅわけで。
多分、本当の意味での「リファクタ」ができる現場ってのはとても恵まれてると思うです。
大抵の現場の場合…これはなんて呼称するんだろ? とりあえず「リビルディング」とか呼んでますが。
誰か知ってたら教えて〜