Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | Collecting Inputs | 入力の収集戦略

概要

入力の収集戦略

前提

Confident Rubyではメソッド内の処理を次のように分類しています。
・Collecting Inputs(引数チェック、変換など)
・Performing Work(主処理)
・Delivering Output(戻り値に関わる処理)
・Handling Failure(例外処理)

当記事は上記のうち、Collecting Inputsに関する話です。

詳細

メソッドに対する入力の収集戦略は3つに分類される

・必要とする役割を果たすためのオブジェクトを強要する
・必要とされる役割を果たせなければ拒否する
・許容できない入力を、許容できるオブジェクトに置換する

すべてのメソッドで上記のような戦略を行うべきか

前提となる処理で、不正な入力が発生しないことが保障されていれば最小限の対応でよい。
システムの境界となるインターフェースかどうかを基準とする。
いわゆる object neighborhoods が対象となる。
ひとたびこの境界を越えているならば、信頼できる隣人として受け入れること。