傾向 不明確さ 関数名が実装と合ってない 何のための処理なのかサッパリ読み取れない なぜか意味不明な空行が目立つ 依存関係 関数が別の関数に依存しまくっている場合が多い 処理をいくつかの関数に分けるのはいいが、単体で動かない関数は修正しにくく保守性最悪 バッサリカットしたいが依存しまくってる故に影響範囲が大きく修正が捗らない 泥沼テスト 単体テストを書いておけばリファクタリングしてもバグらなくて安心 というのはテストの実装次第であり、単体テストが別の単体テストに依存し(DB保存処理が絡むケース)単体じゃなくなってるパターンが多い さらにテスト用モックデータに固執しているテストも多く、テストの意図を読み解くためにまずはモックデータの解析をする必要がある 実装の修正をしたいのにテストの修正がまず必要でそのためにはモックデータを見直す必要があり、実装修正の数倍かかることがほとんど 対策 ここまで