良いあそなすちゃん

良い方のあそなすちゃんです!

無限に疲れる

バグとか不具合とか障害とかがコンボで押し寄せて体調を崩してた。
バグとか不具合とか障害、この文章で沢山でてくる気がするので「よくない事」として話すことにする。

Webサービスにおけるよくない事、どうやって回復とか良化させる方法を考えるんだけど、大抵の場合は良くなってみんなハッピーな状態に戻れるんだけど、方法が悪いと二次被害が出たりする。
良くない事の二次被害を防ぐための良化の方法をよく検討したりはするものの、歴史的経緯によって今まで起爆することがなかった爆発物が良化のための方法で起爆して二次被害を超えて三次被害と呼び起こしたりする。

何となく傾向を掴めてきたんだけど、そういうのは大抵が雑な設計が原因という感じがしている。予期しない使われ方をするメソッドとかカラム、名付けから判断できないとか、1つのメソッドに受け取れる引数が8個ある、そもそもテストがないとか(そもそも8個引数があるメソッドのテストがあっても逆に困る)
そういうのを今いる人達が読みながらやったりするんだけど、良化のための方法の影響範囲がいまいち読めなかったりするので大変だなーという感想があって、影響範囲がよめなくてコアな機能なほどテスト書けやと思う反面、「あー、なるほでぃうす〜次からは気をつけるぞ〜」と心に念じるのであった。

レガシーコード改善ガイドを呼んで意識を保ちながら今後どうすればいいんだろとか思ったりする。
今やってるサービスのコード、6年のうち4年ぐらいは知らない人たちがその場しのぎのコードを沢山かいていた様相があって、随所に筋肉でカバーしてるとかで、筋肉な部分を触ると大抵壊れる。壊れる度に元に戻すか、影響範囲を予想しながら(大抵外れる)良化する方法をとる。よくない事、複雑になるほど体力奪われてしまう。連続でおきるとやっぱり疲れる。

結果的にあらゆる影響範囲を想像していると絶対に速度でなくて大変だなーって感じです。