3
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 1 year has passed since last update.

ZOZOAdvent Calendar 2022

Day 16

リファクタリングにおける「マクベス症候群」を予防する

Last updated at Posted at 2022-12-15

はじめに 

この投稿はZOZO アドベントカレンダー2022 #2 16日目の記事になります。

マクベス症候群とは

血の流れにここまで踏み込めば、渡り切ることだ、行くも帰るも困難なら、もどることは思いきるのだ。(マクベス第三幕第四場)

ということです。。。
つまり、リファクタリング時、リファクタリングをしすぎて、逆に複雑になってしまうケース。
複雑になって元に戻すこともできず、気が済むまでリファクタリングをしていってもさらに複雑になってしまう。。。

経験ないでしょうか?

マクベス症候群という言葉は書籍「レガシーソフトウェア改善ガイド」で紹介されています。

予防策

ではマクベス症候群を防ぐにはどうすればいいか?

リファクタリングを、他の作業から分離する

リファクタリングをするときに、何かの作業のついでに。というのは正解です。
ただ、リファクタリングする時間と、実作業をする時間、コミット、PRなどは分けたほうがいいです。
リファクタリングに失敗した場合、作業を戻したい場合にこのやり方は有効ですし、リファクタリングという行為は元の処理は変えずにソースコードをきれいにする行為なので、分けたほうが良いというのもあります。

ちなみにリファクタリングだけをずっと行うことはあまり心象が良くない可能性がありますので注意です。
アプリケーションの進化が止まっている状況であるためです。

IDEを活用する

IntelliJなどのIDEが用意しているリファクタリングの機能は優秀で役に立ちます。
ガンガン使っていけると良いですね。

まとめ

マクベス症候群は用語はあまり聞かないですが、リファクタリングあるあるでしょう。
気をつけていきましょう!

3
0
1

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
3
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?