仕事でプログラミングしている時にめちゃくちゃ感じるのは気軽に書けるという事の大事さ。
依存が少なければ少ないほどいいのもこういう事だと思ってる。
でも何かを修正する時に、何かを改修する時に、ついついそのまま気楽に手を入れてしまうのは間違っている。
気軽に書けるというのは、何か仕組みを導入したり、方針を変えたり、ちょっとおっきく手を入れたりなんていう、わりと面倒な事をやる時の事を自分は考えている。
なのでちょっとした修正程度の時は、むしろコストを増やしてもいいからちゃんと考えて修正しようよ、と思っている。
if を追加するだけ、とか、本当にちょっとの事しかやってない気持ちになるんだけど、みんながそのちょっとをやっている内にだんだん大きくなって、知らん間に構造がおかしくなってたりする。
テストとかがあればまぁ正常動作は担保できたりするんだけど、面倒な事を次の人に回してるだけなんだよなぁ。
芸能人が風船を膨らませて、だれが割るかみたいなゲームをバラエティとかでやってるけど、まさにあんな感じ。誰が芋を引いてコスト掛けて構造を修正するかみたいなゲーム。
常に審美眼を持って単純な修正のタスクの時ほどちゃんと他にも目をやっておかしな所を直すというのを続けたい。
チームでそれができればかなり良くなるような気はする。いやどうなんだろ。
迷走するかも。
前にアーキテクチャの話を書いたけど、それとも似ていて、ルールやアーキテクチャは大事だし、ちゃんと作れれば運用時に効果を発揮すると思うんだけど、肥大化すればするほど気軽に書けなくなると思う。
実際、依存が多いアーキテクチャだとモックが無いと構築できなかったりするし、モックだらけだとテストの修正コストがどんどん嵩むし、信頼性も高くない。
そうなってくると、もうテスト書かなくて良くね?みたいに感じる人がでるだろうなとも思ってる。テストは面倒だけど書かないと不安だから書きたいんだよね。
慣れは自分の感覚を殺す毒だと思っているんだけど、自分が平行して色々な仕事をしたい理由はここにありそうな気がする。割とバランス感覚を意識しているのでなんとかやってこれてる気がするけど、バランス感覚を失なったら多分開発を直接する事はなくなるんだろうな。
エンジニアをもし辞めたら何をするんだろうなぁ。