もちもちみかん0系くん
(プログラミングの基礎と原則が学べるクイズサイト)

プログラミング クイズ
めざせ、脱初心者!

公開日:
最終更新日:

あなたのコードは、本当に「良いコード」と言えるでしょうか?

独学で身につけた知識に不安はありませんか?

このプログラミング クイズは、エンジニア必読と名高い『プリンシプル オブ プログラミング』を要約し、現場のプロが当たり前に知っている設計の基礎や原則を、ゲーム感覚で楽しく確認できます。

全12章、各章約60問から20問をランダム出題。無料&解説つきのクイズで初心者脱却をめざし、次のステージへ進みましょう!

各章の要約(要点)を読み、直後のクイズで理解を確認できる構成です!

目次

  1. 『プリンシプル オブ プログラミング』101の原理・原則総まとめ
  2. 第1章:前提の要点とクイズへ
    1. 要約(要点)クイズ
  3. 第2章:原則の要点とクイズへ
    1. 要約(要点)クイズ
  4. 第3章:思想
    1. 1.プログラミングセオリーの要点とクイズへ
      1. 要約(要点)クイズ
    2. 2.アーキテクチャ根底技法の要点とクイズへ
      1. 要約(要点)クイズ
    3. 3.アーキテクチャ非機能要件の要点とクイズへ
      1. 要約(要点)クイズ
    4. 4.7つの設計原理の要点とクイズへ
      1. 要約(要点)クイズ
    5. 5.UNIX思想の要点とクイズへ
      1. 要約(要点)クイズ
    6. 6.UNIX哲学の要点とクイズへ
      1. 要約(要点)クイズ
  5. 第4章:視点の要点とクイズへ
    1. 要約(要点)クイズ
  6. 第5章:習慣の要点とクイズへ
    1. 要約(要点)クイズ
  7. 第6章:手法の要点とクイズへ
    1. 要約(要点)クイズ
  8. 第7章:法則の要点とクイズへ
    1. 要約(要点)クイズ

  1. プログラミング基礎・原則の要点(抜粋)
  2. プログラミング クイズ(抜粋)

  1. ピックアップ・特集記事
  2. 設計原則チートシート
  3. アンチパターン集

  1. よくある質問
  2. 参考文献・出典
  3. 免責事項
  4. このページの著者
  5. シェア

プログラミング原則の要点(抜粋)

代表的な設計原則は KISSDRYOCPYAGNIPIESLAP の6つで、重複を避けつつ単純さと拡張性、意図の明確さ、抽象度の統一を保つ考え方である。

要点一覧(抜粋)

  1. KISS:必要最小限で単純に作る
  2. DRY:処理や作業の重複をなくす
  3. OCP:拡張に開き変更に閉じる
  4. YAGNI:今必要でない機能は実装しない
  5. PIE:意図が伝わる表現で書く
  6. SLAP:同じ抽象度でまとめる

KISS原則とは?

KISS原則とは、必要最小限で単純に作り、余計な複雑さを避ける指針である。 将来の不確実な要件を先読みせず、今の要件を最もシンプルに満たす。

DRY原則とは?

DRY原則とは、重複をなくして単一の場所で知識を管理する考え方である。 不整合と保守コスト増を防ぐため、再利用と抽象化で一元化する。

OCP原則とは?

OCP原則とは、機能追加には開き既存の安定部分の変更には閉じる設計原則である。 拡張点の追加で新しい要件に対応する。

YAGNI原則とは?

YAGNI原則とは、今必要でない機能は実装しないという考え方である。 先回りの拡張が招く複雑化を避け、現在の価値に集中する。

PIE原則とは?

PIE原則とは、意図を正しく読み取れる表現でコードを書く指針である。 名前・構造・コメントを工夫し、迷いなく理解できる状態を目指す。

SLAP原則とは?

SLAP原則とは、異なる抽象度を混在させず同じレベルでまとめる指針である。 高レベルの手順と低レベルの詳細を分離して可読性を高める。

プログラミング クイズ(抜粋)

初心者向けのプログラミング クイズから超基礎を8問ピックアップ(4択)。用語・原則の理解を短時間で確認できます。

KISS原則に基づいた設計判断として最も適切なものはどれか?

  1. 将来の可能性に備えて拡張機能を今のうちに実装する
  2. 現在の要件を満たす最もシンプルな方法を選ぶ
  3. 複雑でも柔軟な抽象化を最初から導入しておく
  4. 新しいライブラリを試すことを優先してコードに組み込む

答え:B

解説:KISSは「必要最小限を単純に」。将来予測の作り込みや過剰な抽象化は避ける。

DRY原則の本質に最も近い考え方はどれか?

  1. 似た処理でも都度最適な形に書き換えるべき
  2. 繰り返す行為を人手で丁寧に管理する
  3. 可能な限り重複を取り除き、1箇所で管理する
  4. あえて重複を残して安全性を担保する

答え:C

解説:DRYは「1つの事実は1箇所だけ」。重複は不整合と保守コスト増の元。

OCPの基本的な設計指針はどれか?

  1. すべてのコードは毎回書き直すべきである
  2. 機能追加のたびに元のコードを直接修正すべきである
  3. 拡張は許容し、既存コードの修正は極力避けるべきである
  4. 実装の詳細をコードの先頭に明記すべきである

答え:C

解説:OCPの原則では、コードは新たな要件に「拡張」できるようにしつつ、既存の安定したコードを「修正」しないようにすることが求められる。

YAGNI原則の主な主張として最も適切なものはどれか?

  1. 将来の要件を先読みして、あらかじめ実装しておくべき
  2. 実装の拡張性を優先し、複雑でも柔軟性を高めるべき
  3. 今すぐ必要な機能に限定して、コードを書くべき
  4. できるだけ機能を盛り込んで万全を期すべき

答え:C

解説:YAGNIは「今必要でないものは書くな」という原則であり、不要な機能追加はコードを複雑化させ、結果として保守性を損なう原因となる。

PIE原則における「意図を明確に表現するコード」が重要とされる主な理由はどれか?

  1. コンピュータに正しく処理させるため
  2. テストの自動化を進めるため
  3. 他の開発者がコードの意図を読み取るため
  4. コード量を減らすため

答え:C

解説:PIEは「人にとって読みやすいコードを書く」ことを重視し、読み手が意図を正しく理解できるように、コードを明快に表現することを推奨している。

SLAP原則において「抽象化レベルを統一して書く」ことの主な目的は何か?

  1. 処理を高速化するため
  2. 再利用性を高めるため
  3. 要約性と可読性を両立させるため
  4. コードサイズを縮小するため

答え:C

解説:SLAP(抽象化レベルの統一)は、関数やブロックの粒度を揃えることで、全体の構造を理解しやすくし、保守性や可読性を高めることを目的としている。

『割れた窓ガラスの法則』とは、どのような考え方か?

  1. 小さな問題でも放置すれば大きな問題につながる
  2. 大きな問題から優先的に修正するべきという考え方
  3. 窓の設計に注意すべきという建築理論
  4. 見た目よりも中身を重視するべきという思想

答え:A

解説:小さな乱れを放置すると全体が荒廃するという考え方で、ソフトウェア開発にも適用される。

「驚き最小の原則」において、ユーザーにとって最も重要な設計方針はどれか?

  1. インターフェースをなるべく複雑にする
  2. 利用者の想定外の動作を多用する
  3. 利用者が予想しやすい挙動にする
  4. 新しい操作方法を常に導入する

答え:C

解説:「驚き最小の原則」とは、ユーザーが「そう動くと思った通りに動く」ことに価値を置く設計原則である。意外性より予測可能性が重要。

よくある質問(FAQ)

プログラミング クイズとは?
実務で使えるプログラミングの基礎原則を学べる無料のクイズ集です。全12章・毎回20問、全問解説つき。現場で役立つ知識をスキマ時間で効率よく身につけ、目指せ脱初心者!スマホでも利用できます。
プログラミング クイズでは何が学べますか?
KISS・DRY・OCPなどの主要な設計の基礎を5分で学べます。全12章×毎回20問、全問解説つきです。
何問ありますか?
全12章あり、章によって異なりますが、各60問程度から、毎回ランダムに20問を出題します。
1回あたりの所要時間は約5分です。
対象レベルは?
初学者〜中級者向けです。KISS・DRY・OCPやUNIX哲学など、設計の基礎を中心に扱います。
解説はありますか?
全問解説つきです。間違えた問題の復習もしやすい構成です。
出題や選択肢の順序は毎回同じですか?
問題も選択肢も毎回シャッフルされます。
ただし表示される選択肢ラベルは A・B・C・D の順で固定です。
遊び方を教えてください
各設問は4択です。答えを選んで「次へ」を押してください。最後にスコアが表示されます。
キーボード操作:上下または左右キーで選択、Enterキーで決定(対応ブラウザのみ)。
途中でやめた場合、進捗は保存されますか?
現在は保存しません。ページを離れると最初からになります。
料金はかかりますか?
無料で利用できます。
スマートフォンやタブレットでも使えますか?
はい。最新の Chrome / Safari / Edge / Firefox での利用を推奨しています。
JavaScript を有効にしてご利用ください。
学習の参考になる関連情報はありますか?
各章に学習の為のコンテンツが用意してあります(KISS・DRY・OCP・UNIX哲学など)。
参考文献:プリンシプル オブ プログラミング~3年目までに身につけたい一生役立つ101の原理原則~
不具合や誤りを見つけました
お手数ですが、お問い合わせフォームからご連絡ください。内容を確認し、順次修正します。
注意事項
本クイズは学習支援を目的としたものであり、正確性・完全性を保証するものではありません。
仕様や内容は予告なく変更される場合があります。

参考文献・出典

  • プリンシプル オブ プログラミング ~3年目までに身につけたい一生役立つ101の原理原則~
  • 上田 勲(著)/秀和システム/第1版14刷/2025年/ISBN978-4-7980-4614-3

※本ページは学習支援を目的とした要約です。実務適用時は原典もご参照ください。

■免責事項■

本クイズは、プログラミングおよびソフトウェア設計に関する理解を深めることを目的として作成されたものであり、正確性・完全性・最新性を保証するものではありません

本クイズの内容は、一般的な設計原則や哲学的背景に基づいて構成されていますが、すべての現場や状況に適用できるとは限りません

出題内容や解答・解説において、誤りや誤解を招く表現が含まれている可能性があります。あらかじめご了承ください。

本クイズの利用により生じたいかなる損害・損失についても、当方は一切の責任を負いかねます。

問題文・選択肢・解説の内容は予告なく変更・更新される場合があります。

教育・学習・社内研修などに利用される場合は、各自の判断と責任のもとでご活用ください

このページの著者

もちもちみかん(システムエンジニア)

社内SEとしてグループ企業向けの業務アプリを要件定義〜運用まで一気通貫で担当しています。

経験:Webアプリ/業務システム

得意:PHP・JavaScript・MySQL・CSS

個人実績:フォーム生成基盤クイズ学習プラットフォーム


詳しいプロフィールはこちら!  もちもちみかんのプロフィール

TOPへ

もちもちみかん.comとは


このサイトでは、コーディングがめんどうくさい人向けのお助けツールとして、フォームやCSSをノーコードで生成できる、
 もちもちみかん.forms
 もちもちみかん.css1
 もちもちみかん.css2
と言ったジェネレーターを用意してます。

また、このサイトを通じて、「もちもちみかん」のかわいさを普及したいとかんがえてます!