ソフトウェア原則マップ

概念

  • このサイトのアーキテクチャ
  • 区分オブジェクト
  • defect prevention
  • ドメインオブジェクトへの業務ロジック集約
  • ファーストクラスコレクション(コレクションオブジェクト)
  • Functional Core, Imperative Shell
  • オブザーバビリティ(Observability)
  • process maturity
  • 見積もり技法
  • 純粋関数(Pure Function)
  • 品質保証(SQA)
  • quality management system
  • quality metrics
  • Railway-Oriented Programming(鉄道指向プログラミング)
  • 要件エンジニアリング
  • リスク管理
  • ソフトウェア設計原則
  • ソフトウェアプロセスモデル
  • software quality model
  • テスト戦略
  • traceability
  • 値オブジェクト(Value Object)
  • 型駆動設計(Type-Driven Design)

パターン

  • shift left
  • 三層分離パターン(ドメイン・アプリケーション・インフラストラクチャ)
  • 薄いサービス層パターン(Application Service)
  • review strategy
  • release criteria
  • metadata centric logging

アンチパターン

  • プリミティブ執着(Primitive Obsession)
  • 状態フラグ・汎用テーブルのアンチパターン

ルール

  • 業務ロジックはドメインオブジェクトに書く
  • 見積もりを約束として扱わない
  • log metadata not content
  • プロセスはチームに合わせて適応させる
  • 要件はテスト可能な形で書く
  • quality metrics setting
  • review execution
  • 不正な状態を型で表現不可能にする
  • risk monitoring
  • リスクには必ずオーナーを置く
  • 設計はドメインモデルから始める

スキル

  • ドメインモデル抽出スキル
  • 本から概念を抽出する
  • Gensparkで自社ブランドスライドを自動生成する
  • root cause analysis
  • 段階的リファクタリング戦略
  • test planning