/note/tech

ソフトウェア設計のトレードオフと誤りを出版しました

名前や命名規則の統一とか書き方の統一とかは用語のリストを作って、命名規則を作って・・・など、コードフォーマッターとか、バリデーターを入れたら全自動だか半自動で解決する話題です。

クリーンアーキテクチャとかレイヤードアーキテクチャの話題もよくあがります。昔もデザインパターンが話題になったり、MVCが話題になったり、みんなお手本が欲しいんだな、という感じです。ただ、この手のものって、型にはめるためにある程度冗長であることを要求されるというか、コード量は増える傾向にあります。あと、オブジェクト指向はネジや釘として残っているが、ウェブフロントエンドはどのフレームワークもsignalやhooksによるリアクティブな設計に向かっていて、stale when revalidate戦略を活用したり、20年前のオブジェクト指向のアーキテクチャ議論はもう完全に過去のものだなぁという実感があります。

最後の残るものは、その時々によって意思決定の結果が変わる生ものです。結果が毎回変わるのであれば、あまり参考にならないかというとそういうことはなく、「どのようなトレードオフを考えて意思決定をしたのか」という思考の流れは参考になります。そのような意思決定こそがソフトウェア設計の醍醐味と言えます。