プログラミング

プログラミング

副作用と純粋関数

  • 副作用とは
  • 純粋関数とは

テストコード

  • テストコードとは
  • テストしやすいコード、テストしにくいコード

抽象化

  • 振る舞いと実装
  • 抽象化とは
  • 実装ではなく振る舞いが同じコードをまとめる
  • 抽象化のレベル
  • 抽象化と継承
  • ダック・タイピング

immutable と mutable

  • immutable と mutable
  • immutable なコレクション
  • immutable なオブジェクト

型の恩恵を受ける

  • 型は値が取りうる範囲を制限する
  • 何をしているかを型を使って明示する

null の取り扱い

エラーの取り扱い

  • エラーが発生した際の対応
  • カスタムエラー型
  • エラーの抽象度

例外

  • 例外
  • 独自の例外型を定義する
  • catch すべき例外と、catch すべきで無い例外
  • 例外の投げ方の指針
  • 例外の問題点

Either モナド

  • Error を表すデータ型
  • Either モナド
  • Either の連結
  • do 記法
  • パラメーターを持った列挙体
  • エラーを表す型
  • 例外との比較

ジェネリクスを持たない言語での手法

  • 複数の値を返すための手法 (Tuple)
  • エラーと値の両方を返す手法
  • Go のエラー処理
  • TypeScript のエラー処理

非同期処理