コード ベースを改善するために CodeClimate を使用してきました。また、CodeClimate を使用しないモデル クラスでは、「メソッド外の定義」と「全体的な複雑さ」に落ち込んでいます。メソッド外の定義はクラスを参照しています。関連付けや検証などの定義。そして、全体的な複雑さの合計は、それが言っていることです。つまり、私の個々のメソッドは複雑すぎて、クラス全体が複雑すぎません。
これが誤った立場である可能性があることは理解していますが、私のスコアの D クラスは迷惑であり、このクラスを改善するためにできることがもっとあるかもしれないので、私の質問は次のとおりです。
この ActiveRecord クラスを単純化するために何かすべきことがあるとしたら?
私の主な問題は、この記事http://blog.codeclimate.com/blog/2012/10/17/7-ways-to-decompose-fat-を使用して、脂肪モデルをリファクタリングする方法について書かれたすべての記事を使い果たしたことです。 activerecord-models/など、基本的には次のものが残っています。
- スコープ×2
- attr_accessible x2
- 搬送波マウント x1
- バリデーター x4
- 協会 x16
- accept_nested_attributes_for x1
- フック例 after_save x3
- 私のビューをよりセマンティックで理解しやすくするために、他のさまざまな属性のいくつかの計算を伴うメソッド
- 関連付けに関するメソッド、空の関連付けの処理、関連付けのマージ
これはクローズド ソース プロジェクトですが、このクラスにはドメイン ロジックがないため、ここで共有しました。https://gist.github.com/msaspence/5317419