設計に関する議論は、普通に読める文章であるべき
何か学術的な専門分野であったら、様々な難しい専門用語が登場するのは、おかしなことではない
学術的分野は、分かってない物事を研究して、理解を進める行い
なので、最新研究を理解するのが難しいのは当然
既存の知識をよりわかりやすくしよう、という教育的観点はある
しかし、プログラミングの設計の場合、これは避けるべきである
設計とは、要件や目的を解決するために、様々な観点において、良くなるように決め事をすること
(同じコンテキストを持っている)他人が読んで、そのまま意味がわかるようになってないといけない
設計とは、難しいことを(できれば簡単に)解決する行い
なので、設計内容自体が難しいのは、「設計をする」という目的にあってない
もちろん、実現したいことが本質的に難しいなら、それは仕方がないかもしれない
たとえばロケットを飛ばすとか
設計する上でなんらかの用語が出てくるなら、その用語について完結に説明ができないといけない
1分以内で納得ができるように
そうじゃないなら、そんな分かりにくい用語を用いて設計をしても、意味が分からないだろう
例えば、MVCフレームワークを使っているなら、「モデルとはなにか」というものを簡潔に説明できないといけない
ViewとControllerは難しくないと思うが、Modelとは何かを説明するのは難しいのではないか
説明ができないなら、
MVCフレームワークを使う権利は合っても、
MVCフレームワークを使って設計する資格は本来は無いと思っていいだろう
しかし、分かって無くても長く触れてると徐々に、無意識に使い方とかは分かってくる
これは救いでもあり、注意すべきことでもある
肌で設計を学ぶとも言えるし
長い経験を使って、非言語領域で理解してるので、言語化まで持っていってないから再利用がしづらい
ソフトウェア開発をする上で、不要な依存を増やすべきではないのと同様
設計について述べるために、不要にいろんなナントカパターンだとかナントカアーキテクチャといった名前を出すべきではない
使うにしても、表面的な意味合いで、お互いがある程度知ってるから情報圧縮のため
避けられない面もある
大量のデータを扱う都合上、DBの仕組みや通信の仕組み、プロトコル等をしらないといけないとか
高速化のための諸々とか
セキュリティの都合上の話とか
ここらへんの難しい、専門的な話を知らないといけないことも多くはある