リファクタリング とは、

コンピュータプログラミングにおいて、プログラムの外部から見た動作を変えずにソースコードの内部構造を整理すること

https://ja.wikipedia.org/wiki/リファクタリング_(プログラミング)

  • プログラムの外部から見た動作を変えずに
  • ソースコードの内部構造を整理する

繰り返しになりますが、 「 外見 (入出力) は変えずに、中身だけ整理する 」です。

この整理とは、改善をももなうものであるべき、というのが持論で、自分の中では「 技術的負債を返済しているかどうか 」が、リファクタリングであるかどうかの基準と考えています。

これを リファクタリング と言わないでほしい

ケース1

1// php
2public function hoge($user_id, $nickname)

私 > 規約にのっとって、返り値を宣言してください

Sさん > はい、リファクタリングしますね。

1// php
2public function hoge(int $user_id, string $nickname)

ん、

コレってリファクタリングですか ?

ケース2

1// php
2$this->hoge(User $attacker_user_detail, User $defender_user_detail, Deck $battle_deck_attakker, Deck $battle_deck_defender);

私 > 横にクソ長いので適当に改行したほうが良くない ?

Sさん > はい、リファクタリングしますねー

1// php
2$this->hoge(
3  User $attacker_user_detail,
4  User $defender_user_detail,
5  Deck $battle_deck_attakker,
6  Deck $battle_deck_defender
7);

ただ改行しただけですよね。

「リファクタリング」を拡大解釈しすぎていないか ?

私が感じたのは、妥当なコミットメッセージを考えるのが面倒なので、 リファクタリングという言葉でイージーに片付けようとしてませんか ? ということでした。

S さんはきっとリファクタリング本なんてまったく読んでないなくて、イメージだけでリファクタリングと言っている気がします。


こういう細かいものまでリファクタリングとして扱ってしまうと、

たとえば、負債が溜まって回収が苦しくなってきて、本当のリファクタリングが必要な状況なのに、マネージャーに相談しても

「型を宣言したり、改行を足すだけなのに、なんで予算が必要になんのかゴルァ」

と言われてしまわないか、と思ってしまいます。