リファクタリング登場の経緯と目的とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > リファクタリング登場の経緯と目的の意味・解説 

リファクタリング登場の経緯と目的

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/11 11:35 UTC 版)

リファクタリング (プログラミング)」の記事における「リファクタリング登場の経緯と目的」の解説

リファクタリング登場する以前は、一度正常な動作をしたプログラム二度と手を触れるべきではないと言われていた。なぜなら、下手に手を加えて動作変わってしまうと、それに伴って関連する部分にも修正加えられ、やがてその修正作業プロジェクト全体波及し対処しきれなくなる可能性あったからである。また、ソフトウェアテスト十分に行い正常な動作確認されたとしても、そのプログラムを少しでも改変してしまえばその後バグ (欠陥) が見つかったときに、改変があったプログラムを疑わなければならない。 しかし、プログラムには必ず変更があり、プログラムはどうしても継ぎ接ぎだらけになることは避けられないまた、仕様開発開始時から確定していることは少なく開発をしている間にもソフトウェア対す要求日々変わり続けており、ソフトウェアには常に仕様変更対応できる柔軟さ求められる。さらに、いくら厳密に設計して実際に動作させない分からない部分多く完璧な設計を行うことは不可能である。変更必要になったとき、二度と手を触れられないほど煩雑になったソースコード修正することは困難を極めプログラマにも勇気要求される作業になる。 そこで、Smalltalkプログラマなどの間で、常日頃からプログラム整理し仕様変更にも対応できる整理されプログラム書いていく考え方生まれた。この過程では、ウォード・カニンガムケント・ベックラルフ・ジョンソンGoF一人)などの人々大きな役割果たしたこの手法がリファクタリング呼ばれている。また、リファクタリングは、プログラム全容捉えるためにも効果的である。例えば、バグ検出され場合でも、ソースコード整理されているので、修正しやすい。また、プログラマとしても、普段から修正しているコード手を入れるだけなので、修正にも積極的になれる。さらに、設計者設計ミスによる心残りをなくすことができる。そのため、「リファクタリング設計代用にもなる」とする意見もあり、事前設計を非常に簡素化する役割担っているリファクタリングは、オブジェクト指向設計深く関係している。ほとんどのリファクタリングは、オブジェクト指向性質沿ったものであり、オブジェクト指向コードの再利用性を最大限引き出すことができる。また、オブジェクト指向プログラミング行え言語であればプログラミング言語種類関わらずリファクタリング適用できるリファクタリングを行うことで、開発停滞してしまうのではないか、という心配をされることも多い。たしかにリファクタリング行っている間は、何の機能追加行われない。しかし、たいていの場合は、設計向上することで機能追加バグフィックスをしやすくなり、開発スピード安定するばかりか速くなることもある。また、すでに機能しているコード危険に晒すきでない、とする意見もあるが、手順守りテスト十分に行えばある程度危険を減らすことができる。

※この「リファクタリング登場の経緯と目的」の解説は、「リファクタリング (プログラミング)」の解説の一部です。
「リファクタリング登場の経緯と目的」を含む「リファクタリング (プログラミング)」の記事については、「リファクタリング (プログラミング)」の概要を参照ください。

ウィキペディア小見出し辞書の「リファクタリング登場の経緯と目的」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「リファクタリング登場の経緯と目的」の関連用語

リファクタリング登場の経緯と目的のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



リファクタリング登場の経緯と目的のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのリファクタリング (プログラミング) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS