BT

オピニオン: リファクタリングは必要な無駄

| 作者: Amr Elssamadisy フォローする 0 人のフォロワー , 翻訳者 白石 俊平 フォローする 0 人のフォロワー 投稿日 2008年1月11日. 推定読書時間: 1 分 |

リファクタリング(サイト・英語)は、アジャイル開発者のツールキットにおいて、キーとなる技術的なプラクティスの一つだ。リファクタリングはまた、顧客にとっての価値としては目立ったものではない。それはまさしく、リファクタリングの定義自体によるものだ - 振舞いを変えずに、構造 (設計) の変更を行う、と言うものだ。リーン・ソフトウェア開発の世界では、顧客にとっての価値を持たないものは全て無駄であり、そして、顧客は振舞い/機能だけを知覚する。構造ではない。

しかし、リーンにおいては二つのタイプの無駄が存在する: 純粋な無駄と、必要な無駄だ。純粋な無駄は、チームでのソフトウェア構築にとっても、顧客によるソフトウェア利用にとっても価値を持たないもののことを言う。一方必要な無駄とは、それが顧客にとっての価値を持たないとしても、現在われわれが知っている仕事のやり方として最良の方法のことである。リファクタリングは明らかに後者である。

それでは、どちらにせよ価値があるのであれば、なぜそれを「必要な無駄」と呼ぶのだろうか?そう、それは「顧客にとっては価値がない」と言うのがポイントだ。従って我々はそれを最小限に抑えるべきだし、常に「行わないに越したことがない」ことであると見なされる。しかし、もしそれを無駄だと認識しないのであれば、もはやそれを「無駄だ」と認識するすべはない。なぜなら、われわれのリファクタリングに対する認識は、物事を正しく行うための唯一の方法であるからだ。(巨大な設計を一番最初に行う、と言うのを考えてみてほしい)

ここまでのところがお分かりなら、論理的に次の質問は"それがどうした?これが物事をどうやって変えるというんだ?"というものだ。リファクタリングを必要な無駄とみなすことで、開発者はリファクタリングを最小限にするようになるだろう; ユーザの要求を満たすことができないコードのみ、リファクタリングを行うのだ。これが意味するところは、もしあなたがコーディング中に、"不吉な匂い"のするメソッドをクラス内に見つけたとしても、それがあなたが作業中の要件に直接結びつかないのであれば、あなたはそれを放っておくのである。

原文はこちらです:http://www.infoq.com/news/2007/12/refactoring-is-waste

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT