1. 【3.36.7つの設計原理⑦『安全原理』②】
次のうち、『安全原理』に則った設計判断として最も適切なものはどれか?
-
-
-
-
解説: タイムアウト処理のような「万が一」への備えは、安全原理の実践そのもの。予期しない障害にも耐えられる設計を行うべき。
2. 【3.34.7つの設計原理⑤『線形原理』⑤】
次のうち、『線形原理』に基づいた設計上の推奨事項として最も適切なものはどれか?
-
-
-
-
解説: 視線が止まらずに流れる直線的なコード構造が、線形原理の要点である。複雑化を避け、流れの自然さを重視する。
3. 【3.33.7つの設計原理④『階層原理』③】
階層原理の効果として最も適切なものはどれか?
-
-
-
-
解説: **階層的な構造を持たせることで、個々の部品に分割されたコードを「抽象的に把握」しやすくなり、理解・保守・再利用が容易になる**。
4. 【3.34.7つの設計原理⑤『線形原理』①】
『線形原理』において最も重視すべき観点はどれか?
-
-
-
-
解説: 『線形原理』では、処理の流れを上から下へ素直に通すことに重点を置く。過度な状態遷移や複雑な分岐は保守性を下げる原因となる。
5. 【3.29.7つの設計原理⑤】
『線形原理(Linearity Principle)』に反する設計として最も不適切なものはどれか?
-
-
-
-
解説: 線形原理は「**処理の流れがわかりやすく、予測可能な構造であること**」を求める。ループ的依存は保守性を著しく損なう。
6. 【3.31.7つの設計原理②『同型原理』①】
API群の引数順として“同型性”を最も満たしているのはどれか?
-
-
-
-
解説: 同じ責務の API 群では引数の並びを統一する。id→payload の順で統一(または payload→id で統一)するのが同型性。
7. 【3.29.7つの設計原理①】
『単純原理(Simplicity Principle)』において最も重視すべき設計姿勢はどれか?
-
-
-
-
解説: 単純原理は「**必要以上に複雑な設計を避け、理解しやすく保つ**」という考え方。過剰な抽象化や凝りすぎた設計は避けるべき。
8. 【3.34.7つの設計原理⑤『線形原理』②】
次のコードのうち、線形原理に最も反する実装はどれか?
-
-
-
-
解説: 複雑な分岐やswitch文が絡む構造は、視線の流れを妨げ、線形性を損なう。単純な流れを保つ構成が理想である。
9. 【3.29.7つの設計原理⑦】
『安全原理(Safety Principle)』が適用されるべき状況として最も適切なものはどれか?
-
-
-
-
解説: 安全原理は「**万が一の事態でもシステムが安全に動作するように設計する**」という考え方。例外処理や入力バリデーションの徹底が含まれる。
10. 【3.30.7つの設計原理①『単純原理』②】
単純原理が重要視される理由として最も適切なのはどれか?
-
-
-
-
解説: ソフトウェア障害は「**複雑な箇所に集中する傾向**」があり、**構造を単純化することが最大の予防策**となる。