抽象度の高い状態で試行錯誤する
何が中心概念?
概念をモデル化して思考をする
それを抽象化するとどうなるか、本質はどこか、というのをまず突き止めて、その後に元の目的に対して考える
手戻りも少なくできる
FigmaはUI特化のモデル化
挙動は表現できない
ロジックを無視し、UIだけを表現
型や形式手法はプログラムのモデル化
ロジックだけを表現
ER図は、関係のモデル化
etc.
自然言語は柔軟で便利だが、厳密にするのが弱いし、解釈が疎らになりがち
また、更にその上で、
0からアプリケーションを設計するときにどういう順序で進めるか、という話になる
まずUIを考える、とか、まずEntityを考える、とかというの
プログラムについて、抽象度の高い状態で考えるときには、この辺を考えるとええよ、というのがある
インターフェース
インターフェースと同じか
(状態)
これはそもそも除去することができる
違うか。
コード上の表現では状態をなくすことはできるが、アプリケーション全体では状態を持つ事が多いだろう
プログラムを書く際に、型だけを書いて試行錯誤するフェーズがある
が、型を前段にも、何が中心概念?を問うフェーズが必要
interfaceはこれだけあれば十分だよね、というのを突き止めてから型を書き始める