シンプルなコードを作るのはとっても大変な作業であり、
複雑なコードを作るのは作っているときには楽である。


クラスの役割もメソッドの役目も考えずに創り出されつづけるコード達。
構造を知らぬものにとってこんなに読みにくく、考えにくく理解しにくいものは無い。


シンプルなコードを作ることに気を配り続け実装した後、
テストを行ってでてくるバグってのは対した理由じゃないことが多い。
boolean型の判定が逆だったとか、
プロパティセットがちょっと足らなかったとか、
似たような名前の別のメソッドを呼び出していたとか、
そんなもん。
最初の1回テストした際に必然として現れるのだ。
ゆえに直しやすい。ってか直さなきゃ次に進めん。


シンプルなコードにするための努力を怠れば
その後にキッチリしっぺ返しをくらう。
100%くらう。
自分じゃない誰かがくらうことになるかもしれない。
複雑怪奇なバグ。
これは間違いなく自分が作り出したものなのだ。
難しくしたのは自分。
難しくしているのは自分。
原因追求が難しくなるのはコードの作り手以外の理由は無い。
仕様が難しいというのはなんにも関係ない。
実装計画時に緩和できる術があるからだ。
っというよりは人の考えること、人が行う手順をロジック化するところまでなぜ単純化しなかったの?っと問いたい。
そこで「あ。めんどい」と思ってサボるからロジックが難しくなるのだ。


一度動いたものを再構築する勢いでシンプルなコードを保つってことは
明日の自分の定時帰りを保証する要素になる。