平成25年度 春期 午前 問49
開発技術
リファクタリングの説明
ソフトウェアのリファクタリングの説明はどれか。
- ア外部から見た振る舞いを変更せずに保守性の高いプログラムに書き直す。
- イソースコードから設計書を作成する。
- ウソフトウェア部品を組み合わせてシステムを開発する。
- エプログラムの修正が他の部分に影響していないかどうかをテストする。
答えと解説を見る
✓ これが正解ア外部から見た振る舞いを変更せずに保守性の高いプログラムに書き直す。
解説
振る舞いを変えずに中身を読みやすくします。
リファクタリングは、外から見た振る舞いをそのままに、中の作りを整える作業です。二つの条件がそろって初めてそう呼べます。一つは、機能を足したり、誤りを直したり、速くしたりしないこと。もう一つは、重なっている処理をまとめる、名前を分かりやすくする、長い手続きを小さく分ける、といった具合に、読みやすさと直しやすさを上げることです。利用者の側から見れば何も起きていません。変わるのは、次にそこへ手を入れる人の見通しだけです。気をつけたいのは、振る舞いを保てているというのは自分で名乗れるものではなく、確かめて初めて言えることだという点です。ですから先に自動で回せる試験をそろえ、小さく書き換えては回す、という進め方をとります。整えることと、変わっていないと確かめることは、別々の営みとして並んでいます。
ほかの選択肢はなぜ違うのか
- イソースコードから設計書を作成する。:出来上がっているものから上流の情報を取り出す作業で、リバースエンジニアリングと呼びます。書かれた命令は一文字も書き換わらない点が、まず違います。
- ウソフトウェア部品を組み合わせてシステムを…:既にあるものを整えるのではなく、これから作る側の進め方です。部品を集めて組み上げる話ですから、手元の記述に手を入れるという主題と噛み合いません。
- エプログラムの修正が他の部分に影響していな…:回帰テストの説明で、書き換えの前後で結果がずれていないことを確かめる側にあたります。並べて使う相手ではありますが、整える作業そのものではありません。
この問題の用語
- 保守動いているシステムを使い続けられるように、点検や修正、更新を続ける作業です。障害の修正だけでなく、環境の変化に合わせた手直しも含みます。
- ソースコード人が読み書きできる形で書かれた、プログラムそのものです。コンパイラなどで、コンピュータが実行できる形に変換して使います。
- テスト決めたとおりに動くかを、実際に動かして確かめる作業のこと。何を確かめるかによって移行テスト、システムテストなどと呼び分けます。
出典:平成25年度 春期 応用情報技術者試験 午前 問49
同じ用語が出る問題
- 令和7年度 春期 午前 問40:SBOMに関する問題(ソースコード)
- 令和7年度 春期 午前 問16:GPLに関する問題(ソースコード)
- 令和6年度 春期 午前 問50(ソースコード)
- 令和5年度 秋期 午前 問48(ソースコード)
- 令和5年度 秋期 午前 問47(ソースコード)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)