最近のプログラミングの所感

メンテナブルなアプリって、modelsディレクトリ配下にあるクラスにメソッド定義が少ないかつミックスインが少ない感じがする。
クラスへ抽出(コンポジションって言うらしい)ができていたり、いい感じに関連使ってるとインスタンスメソッドあんま書く必要がなくなると思う。
それとクラスに抽出してると、古いクラスと新しいクラスを共存しながら部分的にリファクタリングがしやすい。

ミックスインは、 ここ に書いている通り、どのクラスが使ってるかわからなくなるし一部のメソッドだけ使いたいのに大きなmoduleをミックスインした結果、分割する必要あったりしたら波及範囲が広くてとにかくめんどいからやばいしやめて欲しい。
それとViewでHashをeachしてcaseでフォーム要素を可変にしてるコードもやめて欲しい。
Viewにcase書いてるのはDRYを鵜呑みし過ぎなんじゃないのかな。Viewはcase文書くより多少冗長のほうがいいよ。どうせViewのテスト書かないし脆いし読みにくいよ。

チーム開発において、自分の好み(?)をどこまで強要(?)するかのラインがとても難しいと最近すごく思う。
例えば、一部のテーブルでpositionカラムがnull許可になってるのって意味不明。定義ミスっぽいじゃん。コード見ないとわからないカラム定義するな。IDカラムをvarcharにしないだろ。とか思った。
全体的に引き際が難しい。