プログラミング クイズ
めざせ、脱初心者!
AIがコードを書いてくれる時代、あなたのコード(そしてAIが作るコード)は本当に「良いコード」と言えるでしょうか?
独学で身につけた知識に不安はありませんか? 生成コードを“判断できる軸”は持てていますか?
このプログラミング クイズは、エンジニア必読と名高い『プリンシプル オブ プログラミング』を要約し、現場のプロが当たり前に知っている設計の基礎や原則を、ゲーム感覚で楽しく確認できます。
全12章、各章約60問から10問をランダム出題。無料&解説つきのクイズで、AI時代の「読む→解く→わかる」を回し、次のステージへ進みましょう!
各章の要約(要点)を読み、直後のクイズで腕試し → 解説で習熟できる構成です。
1/7
第0章:プリンシプル オブ プログラミングとは?
0.1 まえがきの要約
まず、著者自身は本書を次のように説明しています。
本書は、よいコードを書く上で指針となる前提・原則・思想、つまり「プリンシプル」を解説するプログラミングスキル改善書です。初心者向けの書籍では絶対に説明しない、古今東西のプログラマーの知恵をこの一冊に凝縮しました!
ここでいう「プリンシプル」とは、言語やフレームワークをまたいで通用する、 変わりにくい設計・思考のルールのことです。
本書では、そうしたルールを 第1章「前提」、第2章「原則」、第3章「思想」、第4章「視点」、第5章「習慣」、第6章「手法」、第7章「法則」の7つのレイヤーに分けて整理し、 「なぜその設計がよいのか」を説明できることを目指します。
このクイズ集は、そのプリンシプルを 手を動かしながら体にしみこませるための場所 という位置づけです。
出典:『プリンシプル オブ プログラミング』(まえがきより抜粋)
0.2 もちもちみかんの所感
私自身、この本に出会うまでは「経験でなんとなく身につけた感覚」で設計している部分が多くありました。
昔から、文章を読むだけで内容を覚えるのがあまり得意ではなく、学生時代からずっと 「クイズや問題にして解きながら覚える」タイプでした。
だからこそ、重要だと思った考え方ほど、一度自分で「問題」に落とし込み、 問いに答えながら身につけてきました。
そんな自分にとって、この本の原理原則は、 普段のモヤモヤや感覚を言葉と構造で整理してくれると同時に、 クイズという形にも落とし込みやすい“題材”になってくれました。
「なぜこの設計はつらくなるのか」「どこを直せば将来楽になるのか」を 言語化して話せるようになったのは、この本のおかげです。
このクイズ集は、そうして整理された原理原則を、これまで自分がやってきたのと同じように、 クイズとして繰り返し解きながら定着させるための“トレーニング場” として作りました。
「本を読んだけど、ちゃんと理解できているか不安…」という方は、 ぜひクイズで手触りを確かめてみてください。
0.3 プリンシプル オブ プログラミングが目指す最高のコードとは?
『プリンシプル オブ プログラミング』は、プログラミングにおける設計原則などを 7章・101の原理・原則にまとめた本です。本書が目指す 「最高のコード」とは、次の4つを満たすことだと位置づけています。
- 拡張しやすい
- ムダが少ない
- 読みやすい
- 理解しやすい
本書では、前提・原則・思想・視点・習慣・手法・法則という7つの切り口で、 101の原理・原則を整理しています。 もちもちみかん.comのクイズでは、とくに第3章「思想」をさらに6つの節に分け、 「要約 → クイズ → 解説 → もう一度解く、または次の章へ」という 学習のプロセスを回せるように構成しています。
プログラミングクイズ目次
- プリンシプル オブ プログラミング|AI時代の設計指針:101原則を網羅!
- 第0章:プリンシプル オブ プログラミングとは?
- 第1章:AI時代の「前提」をクイズで速習!
- 第2章:AIコードを見抜く「原則」クイズ!
- 第4章:AI駆動で迷わない設計の「視点」クイズ!
- 第5章:AIに優しい開発「習慣」クイズ!
- 第6章:AIを使いこなす「手法」クイズ!
- 第7章:AIでは制御できない「法則」クイズ!
-
コードレビュー道場(実践クイズ)
- ピックアップ・特集記事
- 設計原則チートシート
- アンチパターン集
プログラミング原則の要点(抜粋)
代表的な設計原則は KISS・ DRY・ OCP・ YAGNI・ PIE・ SLAP の6つで、重複を避けつつ単純さと拡張性、意図の明確さ、抽象度の統一を保つ考え方である。
要点一覧(抜粋)
- KISS:必要最小限で単純に作る
- DRY:処理や作業の重複をなくす
- OCP:拡張に開き変更に閉じる
- YAGNI:今必要でない機能は実装しない
- PIE:意図が伝わる表現で書く
- SLAP:同じ抽象度でまとめる
KISS原則とは?
KISS原則とは、必要最小限で単純に作り、余計な複雑さを避ける指針である。 将来の不確実な要件を先読みせず、今の要件を最もシンプルに満たす。
DRY原則とは?
DRY原則とは、重複をなくして単一の場所で知識を管理する考え方である。 不整合と保守コスト増を防ぐため、再利用と抽象化で一元化する。
OCP原則とは?
OCP原則とは、機能追加には開き既存の安定部分の変更には閉じる設計原則である。 拡張点の追加で新しい要件に対応する。
YAGNI原則とは?
YAGNI原則とは、今必要でない機能は実装しないという考え方である。 先回りの拡張が招く複雑化を避け、現在の価値に集中する。
PIE原則とは?
PIE原則とは、意図を正しく読み取れる表現でコードを書く指針である。 名前・構造・コメントを工夫し、迷いなく理解できる状態を目指す。
SLAP原則とは?
SLAP原則とは、異なる抽象度を混在させず同じレベルでまとめる指針である。 高レベルの手順と低レベルの詳細を分離して可読性を高める。
プログラミング クイズ(抜粋)
初心者向けのプログラミング クイズから超基礎を8問ピックアップ(4択)。用語・原則の理解を短時間で確認できます。
KISS原則に基づいた設計判断として最も適切なものはどれか?
- A.将来の可能性に備えて拡張機能を今のうちに実装する
- B.現在の要件を満たす最もシンプルな方法を選ぶ
- C.複雑でも柔軟な抽象化を最初から導入しておく
- D.新しいライブラリを試すことを優先してコードに組み込む
答え:B
解説:KISSは「必要最小限を単純に」。将来予測の作り込みや過剰な抽象化は避ける。
DRY原則の本質に最も近い考え方はどれか?
- A.似た処理でも都度最適な形に書き換えるべき
- B.繰り返す行為を人手で丁寧に管理する
- C.可能な限り重複を取り除き、1箇所で管理する
- D.あえて重複を残して安全性を担保する
答え:C
解説:DRYは「1つの事実は1箇所だけ」。重複は不整合と保守コスト増の元。
OCPの基本的な設計指針はどれか?
- A.すべてのコードは毎回書き直すべきである
- B.機能追加のたびに元のコードを直接修正すべきである
- C.拡張は許容し、既存コードの修正は極力避けるべきである
- D.実装の詳細をコードの先頭に明記すべきである
答え:C
解説:OCPの原則では、コードは新たな要件に「拡張」できるようにしつつ、既存の安定したコードを「修正」しないようにすることが求められる。
YAGNI原則の主な主張として最も適切なものはどれか?
- A.将来の要件を先読みして、あらかじめ実装しておくべき
- B.実装の拡張性を優先し、複雑でも柔軟性を高めるべき
- C.今すぐ必要な機能に限定して、コードを書くべき
- D.できるだけ機能を盛り込んで万全を期すべき
答え:C
解説:YAGNIは「今必要でないものは書くな」という原則であり、不要な機能追加はコードを複雑化させ、結果として保守性を損なう原因となる。
PIE原則における「意図を明確に表現するコード」が重要とされる主な理由はどれか?
- A.コンピュータに正しく処理させるため
- B.テストの自動化を進めるため
- C.他の開発者がコードの意図を読み取るため
- D.コード量を減らすため
答え:C
解説:PIEは「人にとって読みやすいコードを書く」ことを重視し、読み手が意図を正しく理解できるように、コードを明快に表現することを推奨している。
SLAP原則において「抽象化レベルを統一して書く」ことの主な目的は何か?
- A.処理を高速化するため
- B.再利用性を高めるため
- C.要約性と可読性を両立させるため
- D.コードサイズを縮小するため
答え:C
解説:SLAP(抽象化レベルの統一)は、関数やブロックの粒度を揃えることで、全体の構造を理解しやすくし、保守性や可読性を高めることを目的としている。
『割れた窓ガラスの法則』とは、どのような考え方か?
- A.小さな問題でも放置すれば大きな問題につながる
- B.大きな問題から優先的に修正するべきという考え方
- C.窓の設計に注意すべきという建築理論
- D.見た目よりも中身を重視するべきという思想
答え:A
解説:小さな乱れを放置すると全体が荒廃するという考え方で、ソフトウェア開発にも適用される。
「驚き最小の原則」において、ユーザーにとって最も重要な設計方針はどれか?
- A.インターフェースをなるべく複雑にする
- B.利用者の想定外の動作を多用する
- C.利用者が予想しやすい挙動にする
- D.新しい操作方法を常に導入する
答え:C
解説:「驚き最小の原則」とは、ユーザーが「そう動くと思った通りに動く」ことに価値を置く設計原則である。意外性より予測可能性が重要。
よくある質問(FAQ)
プログラミング クイズとは?
プログラミング クイズでは何が学べますか?
何問ありますか?
1回あたりの所要時間は3分です。
対象レベルは?
解説はありますか?
出題や選択肢の順序は毎回同じですか?
ただし表示される選択肢ラベルは
A・B・C・D の順で固定です。
遊び方を教えてください
キーボード操作:上下または左右キーで選択、Enterキーで決定(対応ブラウザのみ)。
途中でやめた場合、進捗は保存されますか?
料金はかかりますか?
スマートフォンやタブレットでも使えますか?
JavaScript を有効にしてご利用ください。
学習の参考になる関連情報はありますか?
参考文献:プリンシプル オブ プログラミング~3年目までに身につけたい一生役立つ101の原理原則~
不具合や誤りを見つけました
注意事項
仕様や内容は予告なく変更される場合があります。
免責事項
本クイズは、プログラミングおよびソフトウェア設計に関する理解を深めることを目的として作成されたものであり、正確性・完全性・最新性を保証するものではありません。
本クイズの内容は、一般的な設計原則や哲学的背景に基づいて構成されていますが、すべての現場や状況に適用できるとは限りません。
出題内容や解答・解説において、誤りや誤解を招く表現が含まれている可能性があります。あらかじめご了承ください。
本クイズの利用により生じたいかなる損害・損失についても、当方は一切の責任を負いかねます。
問題文・選択肢・解説の内容は予告なく変更・更新される場合があります。
教育・学習・社内研修などに利用される場合は、各自の判断と責任のもとでご活用ください。
参考文献・出典
- プリンシプル オブ プログラミング ~3年目までに身につけたい一生役立つ101の原理原則~
- 上田 勲(著)/秀和システム/第1版14刷/2025年/ISBN978-4-7980-4614-3
※本ページは学習支援を目的とした要約です。実務適用時は原典もご参照ください。
このページの著者
経験:Webアプリ/業務システム
得意:PHP・JavaScript・MySQL・CSS
個人実績:フォーム生成基盤/クイズ学習プラットフォーム 等
詳しいプロフィールはこちら! もちもちみかんのプロフィール