青空を目指して2

どこまでも続く日々日常。ゲーム・音楽好きのおっさんの半生。日々日常とちょっとだけ思ったことの日記。

最近思う拡張性

最近プログラムや設計に関して自分の中で思ってること。拡張性、をうたってやたら仮想化を進めデザインパターンを駆使して、こういう取り決めでプログラミングすればきっとうまく動くよ!って物を苦労して作るのはやめたほうがいいんではないかということ。それよりは構造をとことんまでシンプルにし、導線や関係性を単純にし、読みやすい、わかりやすいプログラムを書いたほうがずーっと価値が有る気がしてならない。
そりゃ、設計する人、組む人、みんながみんなオブジェクト指向を理解し、デザインを理解し、プログラムを理解し、同じ方向を向いてるようなレベルの高い職場ならそういうのもありだろうけど、自分らの業界はまさにピンキリの用兵で構成されているような現場ばかり。多くの人はもともとの設計の思想を読み取るようなことはせず、ソースも理解せず、今まで自分がやってきた手法を駆使し、構築された世界の上にマイワールドをねじ込んでくる。その結果プログラムは何重もの世界観を持ち、それらが複雑怪奇に絡まりあった魑魅魍魎たちが闊歩する世界になってしまう。だいたい基本設計の時点でまともに動いてなくて改造しまくってるってことも多いしな。結局無駄な構想、無駄な修正、無駄な改築、意味不明なプログラム、となってしまう。
そんな無駄なことをするなら、一番最小限の要素で成り立ったわかりやすい物を作っておき、もし拡張したいならここに好きなように展開して行ってね!って方が結局無駄なコストがかからないと思う。もともとの複雑な構造もないから改造、追加ポイントもわかりやすいとおもうし。
要するに、いくらレールを引いたって乗らない人は絶対に乗らないし、乗らない人が多い。それならあらかじめレールを引くような行為はやめて「好きに展開してや」って方がいいと思うんだなぁ。そもそも拡張性なんてのも勝手な思いだし。どう拡張されるかなんかわからないし、拡張なんかされない可能性もあるんだし。
なんかもうね。ほんと。わかりにくいプログラム書くのやめようよ。最新の書き方で書いて悦に入ってるようなオナニーは家でやってよ。