6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

2つの帽子を知る

Last updated at Posted at 2021-01-14

2つの帽子

2つの帽子とは、Kent Beckが考案したリファクタリングを行う作業を区分した例えです。

Kent Beckは、ソフトウェア開発でリファクタリングするときは下記の二つに作業を区分すべきと言っています。

機能追加

機能追加時に気をつけること

  • 既存のコードを変更してはいけない
  • 単に機能を拡張することに専念する

リファクタリング

リファクタリング時に気をつけること

  • 機能追加を行ってはいけない
  • コードの再構築に専念する
  • テストの追加をしてはいけない(テストケース漏れの追加, インターフェース変更への対象は例外)

帽子のかぶり方

普通、人は帽子を一つしかかぶらないはずです (僕が知る限りでは)
そのため2つ帽子があるときは、どっちをかぶるか考えないとです。

ユースケース

  • 新しい機能を追加するタスクが発生
  • 既存のコードの構造を少し変更するだけで簡単に機能追加ができることを発見
  • リファクタリングの帽子をかぶる
  • コードの改修が終了
  • 機能追加の帽子をかぶる


  • 機能追加をしていたら少し分かりづらい箇所があることに気づく
  • リファクタリングの帽子をかぶる

いつリファクタリングをすべきか

三度目の法則

  • 初めは単純な作業を行う
  • 2度目に以前と似たようなことをしていると気づいたら、意識はしつつ作業を続行する
  • 3度目に同じようなことをしていると気付いたらリファクタの開始

つまり、仏の顔も三度までということですね。。w

参考文献

今回参考にした文献は下記なのですが、こちらとてもいい本なのでおすすめです。
初版は、Javaでの解説だったのですが、第2版はjavaScriptを利用しています。
javaScriptの為のリファクタリング本ではないので、そこは気を付けてください。

リファクタリング(第2版): 既存のコードを安全に改善する

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?