平成27年度 秋期 午前 問49
開発技術
リファクタリングの説明
エクストリームプログラミング(XP)におけるリファクタリングの説明はどれか。
- ア外部から見た動作を変えずにプログラムをより良く作り直すこと
- イコーチがチームメンバの意識を高めること
- ウプログラミングとテストを繰り返し行うこと
- エプログラムを作成するよりも先にテストケースを考えること
答えと解説を見る
✓ これが正解ア外部から見た動作を変えずにプログラムをより良く作り直すこと
解説
外から見た動作を変えずに内側を整えます。
リファクタリングという語は、数式を因数分解し直す操作から来ています。式の値は変えずに形だけ整える、という比喩です。ですから正しいのは、外部から見た動作を変えずにプログラムをより良く作り直すことだ、という説明になります。具体的にやるのは内側の整理だけです。同じ処理の重なりを消す、変数や関数の名前を意味の通るものに直す、長くなった手続を役割ごとに分ける、といった作業がこれに当たります。機能は一つも足しませんし、見える振る舞いも変えません。振る舞いが変わっていないことを何で保証するかというと、いつでも走らせられる自動のテストです。だからエクストリームプログラミングでは、テスト駆動開発と対にして語られます。まず失敗するテストを書き、通るコードを書き、そのうえで形を整える、という三拍子の三番目がこれです。定義は振る舞いを変えないという一点なので、速度を上げる改善や機能の追加は、外から見て違いが出る以上、別の作業として数えます。
ほかの選択肢はなぜ違うのか
- イコーチがチームメンバの意識を高めること:チームの意識を高める役回りについての説明で、進め方を支える人の配置に関する話です。開発の実践そのものではなく、誰がどう関わるかという層の事柄になります。
- ウプログラミングとテストを繰り返し行うこと:作ることと確かめることを何度も繰り返す、進め方の周期について述べています。短い単位で回すこと自体は、できあがったコードの内側を整える行為とは別に数えられます。
- エプログラムを作成するよりも先にテストケー…:作るより先に確かめ方を用意しておくという、テスト駆動開発を指した説明です。形を整える作業を支える土台にはなりますが、整えること自体とは区別されます。
この問題の用語
- テストケース何をどう試して、どうなれば合格かを一つずつ決めたものです。入力する値や操作の手順と、期待する結果を組にして書きます。
出典:平成27年度 秋期 応用情報技術者試験 午前 問49
同じ用語が出る問題
- 令和7年度 春期 午前 問54:テスト密度に関する問題(テストケース)
- 令和4年度 秋期 午前 問49:テスト駆動開発に関する問題(テストケース)
- 令和4年度 秋期 午前 問48:命令網羅に関する問題(テストケース)
- 令和4年度 春期 午前 問47:判定条件網羅に関する問題(テストケース)
- 令和3年度 春期 午前 問48:最小のテストケース数(テストケース)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)