makotan _at_ gmail dot com

分割する

ソフトウェアを分割する。どんどん分割する。分割の結果、つなぎ合わせるのが大変になる。つなぎ合わせるのも楽をしたい、だからつなぎ合わせるツールが出来る。
だから基本は分ける事、正確につなぎ合わせる事。
後からつなぎ合わせるって事の副次的効果として、
分割後のコードをこれまでより単純化しても大丈夫になる。という事はテスト項目の洗い出しが楽になる。
後からつなぎ合わせるからダミーとつなぎ合わせたり自由に出来る。だから、単体でのテストがしやすくなる。
ソフトウェアである機能を実装するときに単純なコードとして作る事は非常に意味のある事。複雑なコードを書くより単純なコードを書く方が良い事。
分割の手順は別として、設計上単純化されたものを実装するだけなら高度なスキルレベルを要求する事はほとんど無い。だからある程度技術者のスキルに依存せずにすむ。
何を使ってもこれらの事は出来るようになるけど、組み立ての複雑さが増大するためにメリットが減少する。
分割した結果の成果物は基本的に単純なコードとそれを組み立てる定義の二つになる。コードの方はS2非依存で作れるのでそれは汚染されるとは言えない。組み立てる定義情報はこれらのメリットを実現するためなので仕方ないとしてあきらめる。
ソースコードのトレースって作業はテストケース、組み立て後両方とも可能。
ただし、AOP等を使った場合はトレースしにくくなる。
正しくインジェクションすることはテストしない。それは定義情報をレビューするのがベスト。ただし、XMLだとレビューしにくいのでグラフィカルな表示ツールに期待
って某所のネタをみて書いただけ〜