1分で理解・101の原則を網羅
プリンシプル オブ プログラミング|101の原則を完全網羅&全736問クイズ(総合インデックス)
1分要約&101の原理・原則を完全網羅!
- 所要:約12分
あなたのコードは、本当に「良いコード」と言えるでしょうか?
独学で身につけた知識に不安はありませんか?
このプログラミング クイズは、エンジニア必読と名高い『プリンシプル オブ プログラミング』を要約し、現場のプロが当たり前に知っている設計の基礎や原則を、ゲーム感覚で楽しく確認できます。
全12章、各章約60問から= 10 ?>問をランダム出題。無料&解説つきのクイズで初心者脱却をめざし、次のステージへ進みましょう!
各章の要約(要点)を読み、直後のクイズで理解を確認できる構成です!
1/7
まず、著者自身は本書を次のように説明しています。
本書は、よいコードを書く上で指針となる前提・原則・思想、つまり「プリンシプル」を解説するプログラミングスキル改善書です。初心者向けの書籍では絶対に説明しない、古今東西のプログラマーの知恵をこの一冊に凝縮しました!
ここでいう「プリンシプル」とは、言語やフレームワークをまたいで通用する、 変わりにくい設計・思考のルールのことです。
本書では、そうしたルールを 第1章「前提」、第2章「原則」、第3章「思想」、第4章「視点」、第5章「習慣」、第6章「手法」、第7章「法則」の7つのレイヤーに分けて整理し、 「なぜその設計がよいのか」を説明できることを目指します。
このクイズ集は、そのプリンシプルを 手を動かしながら体にしみこませるための場所 という位置づけです。
出典:『プリンシプル オブ プログラミング』(まえがきより抜粋)
私自身、この本に出会うまでは「経験でなんとなく身につけた感覚」で設計している部分が多くありました。
昔から、文章を読むだけで内容を覚えるのがあまり得意ではなく、学生時代からずっと 「クイズや問題にして解きながら覚える」タイプでした。
だからこそ、重要だと思った考え方ほど、一度自分で「問題」に落とし込み、 問いに答えながら身につけてきました。
そんな自分にとって、この本の原理原則は、 普段のモヤモヤや感覚を言葉と構造で整理してくれると同時に、 クイズという形にも落とし込みやすい“題材”になってくれました。
「なぜこの設計はつらくなるのか」「どこを直せば将来楽になるのか」を 言語化して話せるようになったのは、この本のおかげです。
このクイズ集は、そうして整理された原理原則を、これまで自分がやってきたのと同じように、 クイズとして繰り返し解きながら定着させるための“トレーニング場” として作りました。
「本を読んだけど、ちゃんと理解できているか不安…」という方は、 ぜひクイズで手触りを確かめてみてください。
『プリンシプル オブ プログラミング』は、プログラミングにおける設計原則などを 7章・101の原理・原則にまとめた本です。本書が目指す 「最高のコード」とは、次の4つを満たすことだと位置づけています。
本書では、前提・原則・思想・視点・習慣・手法・法則という7つの切り口で、 101の原理・原則を整理しています。 もちもちみかん.comのクイズでは、とくに第3章「思想」をさらに6つの節に分け、 「要約 → クイズ → 解説 → もう一度解く、または次の章へ」という 学習のプロセスを回せるように構成しています。
代表的な設計原則は KISS・ DRY・ OCP・ YAGNI・ PIE・ SLAP の6つで、重複を避けつつ単純さと拡張性、意図の明確さ、抽象度の統一を保つ考え方である。
KISS原則とは、必要最小限で単純に作り、余計な複雑さを避ける指針である。 将来の不確実な要件を先読みせず、今の要件を最もシンプルに満たす。
DRY原則とは、重複をなくして単一の場所で知識を管理する考え方である。 不整合と保守コスト増を防ぐため、再利用と抽象化で一元化する。
OCP原則とは、機能追加には開き既存の安定部分の変更には閉じる設計原則である。 拡張点の追加で新しい要件に対応する。
YAGNI原則とは、今必要でない機能は実装しないという考え方である。 先回りの拡張が招く複雑化を避け、現在の価値に集中する。
PIE原則とは、意図を正しく読み取れる表現でコードを書く指針である。 名前・構造・コメントを工夫し、迷いなく理解できる状態を目指す。
SLAP原則とは、異なる抽象度を混在させず同じレベルでまとめる指針である。 高レベルの手順と低レベルの詳細を分離して可読性を高める。
初心者向けのプログラミング クイズから超基礎を8問ピックアップ(4択)。用語・原則の理解を短時間で確認できます。
答え:B
解説:KISSは「必要最小限を単純に」。将来予測の作り込みや過剰な抽象化は避ける。
答え:C
解説:DRYは「1つの事実は1箇所だけ」。重複は不整合と保守コスト増の元。
答え:C
解説:OCPの原則では、コードは新たな要件に「拡張」できるようにしつつ、既存の安定したコードを「修正」しないようにすることが求められる。
答え:C
解説:YAGNIは「今必要でないものは書くな」という原則であり、不要な機能追加はコードを複雑化させ、結果として保守性を損なう原因となる。
答え:C
解説:PIEは「人にとって読みやすいコードを書く」ことを重視し、読み手が意図を正しく理解できるように、コードを明快に表現することを推奨している。
答え:C
解説:SLAP(抽象化レベルの統一)は、関数やブロックの粒度を揃えることで、全体の構造を理解しやすくし、保守性や可読性を高めることを目的としている。
答え:A
解説:小さな乱れを放置すると全体が荒廃するという考え方で、ソフトウェア開発にも適用される。
答え:C
解説:「驚き最小の原則」とは、ユーザーが「そう動くと思った通りに動く」ことに価値を置く設計原則である。意外性より予測可能性が重要。
A・B・C・D の順で固定です。
本クイズは、プログラミングおよびソフトウェア設計に関する理解を深めることを目的として作成されたものであり、正確性・完全性・最新性を保証するものではありません。
本クイズの内容は、一般的な設計原則や哲学的背景に基づいて構成されていますが、すべての現場や状況に適用できるとは限りません。
出題内容や解答・解説において、誤りや誤解を招く表現が含まれている可能性があります。あらかじめご了承ください。
本クイズの利用により生じたいかなる損害・損失についても、当方は一切の責任を負いかねます。
問題文・選択肢・解説の内容は予告なく変更・更新される場合があります。
教育・学習・社内研修などに利用される場合は、各自の判断と責任のもとでご活用ください。
※本ページは学習支援を目的とした要約です。実務適用時は原典もご参照ください。
経験:Webアプリ/業務システム
得意:PHP・JavaScript・MySQL・CSS
個人実績:フォーム生成基盤/クイズ学習プラットフォーム 等
詳しいプロフィールはこちら! もちもちみかんのプロフィール