-> cocochi
心 -> 形 形 -> 心
心理学は前者、環境論(窓割れ理論)は後者の論理展開を好む。
ここでは、この2つの座視を脇に置いておいて、
心と形が分かれる以前の何かを想定し、話を進める。
ココロ と カタチ が分かれる以前の何かを、仮に「->」とする。
まず、 「->」 がありその後に、ココロ と カタチ があるように記号を配置してみる。
->{|ココロt, カタチt| ふーんふふん ココロt+1, カタチt+1 }
- > の変わりに tddを配置する。再帰を含めた例に
def tdd(こころt, かたちt) return こころt, かたちt if 動作するきれいな かたち? こころt+1, かたちt+1 = red こころt, かたちt こころt+2, かたちt+2 = green こころt+1, かたちt+1 こころt+3, かたちt+3 = refactor こころt+2, かたちt+2 tdd こころt+3, かたちt+3 end
こころ と かたち 順序性には特に意味はない。
引数の順番を入れ替えても良い。
def testing(katachi_t0, kokoro_t0) return katachi_t0, kokoro_t0 if 動作するきれいな かたち? katachi_t1, kokoro_t1 = reding katachi_t0, kokoro_t0 katachi_t2, kokoro_t2 = greening katachi_t2, kokoro_t2 katachi_t3, kokoro_t3 = refactoring katachi_t2, kokoro_t2 testing katachi_t3, kokoro_t3 end
継続的に testingが 動作することで、Goodな Code の カタチ と ココロ が産出される, 保持されることになる。
kokoro と katachi の二つの概念が mixin された何かを 仮に、「cocochi」 とする。
def testing(cocochi_t0) return cocochi_t0 if clean_cocochi_t0? cocochi_t1 = reding cocochi_t0 cocochi_t2 = greening cocochi_t1 cocochi_t3 = refactoring cocochi_t2 testing cocochi_t3 end
cocochi がよいということはつまり、カタチ が Goodな状態 かつ キモチが Goodな状態 を指す。
- >( 例えば、testing ) は、その cocoshi よい状態へ向かう、よい状態を保つ 振る舞いとなる