システム開発技術|令和3年度 ITパスポート試験 問48
既存のプログラムを,外側から見たソフトウェアの動きを変えずに内部構造を改善する活動として,最も適切なものはどれか。
- テスト駆動開発
- ペアプログラミング
- リバースエンジニアリング
- ✓ これが正解リファクタリング
解説
リファクタリングは、外の動きを変えずに内部だけを整えます。
リファクタリングは、外から見たときのソフトウェアの振る舞いをそのままに保ちながら、中身の作りだけを整え直す活動です。長くなりすぎた処理を分ける、分かりにくい名前を付け直す、同じ記述の重なりをまとめる、といった手当てを行います。働きが変わらないので利用者から見た違いはありませんが、次に手を入れるときの読みやすさと直しやすさが上がり、間違いも入りにくくなります。外から見た動きが変わらないことが条件なので、直した後に前と同じ結果になるかを確かめられる試験を用意しておくことが欠かせません。機能を足したり不具合を直したりする作業と混ぜないことも大切で、混ぜてしまうと、動きが変わったのが整え直しのせいなのか改修のせいなのか分からなくなります。よって最も適切なのは、リファクタリングということになります。
ほかの選択肢はなぜ違うのか
- テスト駆動開発は、先に試験を書いてから、それを通すように本体を書き進める作り方です。作る順序についての進め方であって、すでにあるプログラムの内部を整え直す活動そのものを指す言葉ではありません。先に試験を書く順序の工夫です。
- ペアプログラミングは、二人が一台の画面を見ながら交代で書き進めるやり方です。誰がどう作業するかという進め方の工夫なので、内部の構造を改善するという活動の名前ではありません。二人で書くという進め方の工夫です。
- リバースエンジニアリングは、できあがったものを調べて、その設計や仕様を逆にたどって明らかにする作業です。中身を読み解く行為であり、読み解いた先で構造を書き換えて整えるところまでは含んでいません。読み解くところまでです。
この問題に関係する言葉
- リファクタリング
- テスト駆動開発
- ペアプログラミング
- リバースエンジニアリング
出典:令和3年度 ITパスポート試験 問48
同じ単元をまとめて解くならシステム開発技術へ。
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)