基本情報技術者 2026年 科目A 問11
問題文
あるシステムにおいて、“プログラムの記述方法が統一されていないので保守がしづらい”という問題が発生している。今後の新規開発プロジェクトにおけるこの問題の低減策として、最も適切なものはどれか。
選択肢
ア:コーディング規約を見直し、教育する。(正解)
イ:セキュアプログラミングを採用する。
ウ:単体テストでの命令網羅度を上げる。
エ:プロジェクト管理レビューに全プログラマーが参加する。
🔒 解説は解答すると表示されます
コーディング規約【午前解説】
正解の理由
プログラムの記述方法が統一されていないことが保守性低下の原因であるため、記述ルールそのものを整備し周知・教育することが直接的な解決策になります。選択肢の中では、ア「コーディング規約を見直し、教育する。」が最も適切です。規約を定めることで命名規則、インデント、コメント、エラーハンドリング方針などが統一され、後続の改修やレビューが容易になります。さらに教育により実務での運用定着を図れるため、単に規約を作るだけでなく現場に定着させる点まで含めて有効です。
解法ステップ
- 問題点の本質を把握する:ここでは「記述方法の不統一」が原因であると特定する。
- 原因に直接結び付く対策を選ぶ:記述の不統一なら「規約整備+運用」が直接対策になる。
- 他の選択肢が問題に合致するかを検討する:セキュリティ、網羅度、レビュー参加は副次効果はあっても主因対策ではない。
- 運用計画を伴う回答を選ぶ:規約は作るだけでなく教育・自動チェック等で定着させる必要がある。
選択肢別の誤答解説
-
イ: セキュアプログラミングを採用する。
セキュリティ強化は重要ですが、記述方法の統一(スタイルや可読性)を直接改善するものではありません。脆弱性低減とコーディングスタイルは目的が異なります。 -
ウ: 単体テストでの命令網羅度を上げる。
テスト網羅度は欠陥検出に寄与しますが、コードの書き方やスタイルの統一には効果が薄いです。可読性・保守性の向上には別の対策が必要です。 -
エ: プロジェクト管理レビューに全プログラマーが参加する。
レビュー参加は情報共有や品質向上に役立ちますが、参加するだけでは記述規約の統一が自動的に実現するわけではありません。レビューの場で規約を運用することは有効ですが、まずは規約整備と教育が前提です。
よくある誤解
- 規約を作ればそれだけで解決する:規約は作成が最初の一歩であり、運用(教育・自動チェック・レビュー)が伴わなければ定着しません。
- テストを強化すれば保守性が向上する:テストは欠陥検出に有効ですが、コードの可読性や統一感は別の対策が必要です。
- 全員参加のレビューで統一できる:レビューは重要ですが、基準がなければ個人差が残るため、まず明文化された規約が必要です。
補足コラム
コーディング規約を効果的に運用するための実務的ポイント:
- 規約の内容:命名規則、インデント、コメント基準、エラーハンドリング、ファイル構成、コミットメッセージ形式などを含める。
- 自動化ツール:リンター(例:ESLint、RuboCop)、フォーマッタ(例:Prettier)、CIでの静的解析を導入して自動チェックを行う。
- 教育・定着:ハンズオン研修、コーディングレビューのチェックリスト化、ペアプログラミングを通じて現場で使えるようにする。
- 適用フェーズ:既存コードベースには段階的適用(新規変更時に徐々に適用)を行うと現実的です。
FAQ
Q. 規約は厳格すぎると生産性が落ちますか?
A. 極端に厳格だと摩擦が生じます。重要な点に絞り、自動ツールで負担を減らしつつ段階的に適用するのが現実的です。
A. 極端に厳格だと摩擦が生じます。重要な点に絞り、自動ツールで負担を減らしつつ段階的に適用するのが現実的です。
Q. 既存の大量のレガシーコードにはどう適用すべきですか?
A. いきなり全面適用は難しいため、新規変更・リファクタ時に規約を適用する「変更時適用」方式が現場でよく使われます。
A. いきなり全面適用は難しいため、新規変更・リファクタ時に規約を適用する「変更時適用」方式が現場でよく使われます。
Q. 規約作成の担当は誰がすべきですか?
A. 技術リーダーやアーキテクトが主導し、現場の開発者の合意を得ながら決めるのが望ましいです。
A. 技術リーダーやアーキテクトが主導し、現場の開発者の合意を得ながら決めるのが望ましいです。
関連キーワード: コーディング規約、静的解析、コードレビュー、可読性、リンター、フォーマッタ、研修、運用定着

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

