Some Days You Get the Bear

IT系エンジニアの、日々の気づきや考えたこと。

目的ベースで設計する

あまり勉強会に参加できてないですが、ときどき帰りの電車で聞き流ししています。
 
www.youtube.com

DRY原則は、単に「コードの重複を許さない」ではなくて
「意図や目的の単位で重複を許さない」ということ
なので、目的特化型モデル を設計する

ただ意図や目的は(命名に影響されて)背後に隠れてしまい認知が困難
『目的駆動 名前設計
・目的ベースで名前を設計しよう
・目的ベースで概念を解釈しましょう

⇒ 実はこれが(DDDの)「ユビキタス言語の操り方」

とてもおもしろいお話でした。
あらためて設計っておもしろいよな、って思いました。
ソフトを、システムを、どうやって形あるものとして捉えるか、って
まさにソフトをつくっているかんじがして、
うごかしてる感、あやつってる感、がいいのです。
 
pr.forkwell.com



もうひとつはこちら

www.youtube.com
またまた t-wada さん を聞いてしまった。
内容は、「防御的プログラミング」について。
 
よいインタフェースとは次の2つの条件を満たすインタフェース
・正しく使用する方が操作ミスをするより簡単
・誤った使い方をすることが困難

simple と easy を混ぜない

基礎となる型をモデリングし、曖昧さや間違いやすさを削減する
 
あらてめて思ったのは、ソフトってめんどくさいよね、ってこと。
こんなにあれこれ考えてつくらないといけないんだよな、ってこと。
最近、実務でコードを書いていないので、
このへんのわずらわしさがちょっとわかんなくなってきてそうな気がして、
ヤバいなって思った。
そして、やっぱり、最近の言語も使えるようにならないといけないな、と思った。