48

私は常に Rails の先頭に非常に大きなコード行を表示しますmodels。それらを標準の Ruby スタイルで分割するための最良の方法についての提案を探しています。たとえば、私が今見ている 1 行は次のとおりです。

delegate :occupation, :location, :picture_url, :homepage_url, :headline, :full_name, :to => :profile, :prefix => true, :allow_nil => true

これらの長いメソッド呼び出し行を分割するための従来のスタイルは何ですか?

4

4 に答える 4

20

次のようなもの:

delegate :occupation, :location, :picture_url, 
         :homepage_url, :headline, :full_name, 
         :to => :profile, :prefix => true, :allow_nil => true

または、オプションハッシュを強調表示したい場合(合理的なこと):

delegate :occupation, :location, :picture_url, 
         :homepage_url, :headline, :full_name, 
     :to => :profile, :prefix => true, :allow_nil => true

すべてを1行に残すという考えは、私にはくだらない考えだと思います。つまり、委任されているものを確認するには、任意の量をスクロールする必要があります。ええ。

私もおそらく少し並べて、アルファベット順に並べるでしょう。

delegate :full_name, :headline,   :homepage_url,
         :location,  :occupation, :picture_url,
     :to => :profile, :prefix => true, :allow_nil => true

ファイルに多くの/他の実質的なコンテンツが含まれていない場合は、編集を容易にするために、各メソッドシンボルを独自の行に配置することがあります。より大きなファイルでは、そのためのスペースを占有したくありません。

そんなことを考えたことはありません。

編集私はそうだと思います:/

最近、委任されたメソッドを「類似性」によって大まかにグループ化する場合があります。

delegate :full_name, :headline,
         :location,  :occupation,
         :homepage_url, picture_url,
     to: :profile, prefix: true, allow_nil: true

値がシンボルでもある場合、私の陪審員は1.9ハッシュ構文に固執しました。面白そうだと思います。また、どこにインデントするかはわかりません。IDEの再フォーマット中にとにかく失われる可能性がありますが、新しい構文を使用している場合は、上記のように表示されます。

于 2012-08-23T01:14:14.660 に答える
1

私の経験からすると、実際には行を分割しないのが慣例のようです。Rails自体のコードベースを含む、私が見たほとんどのプロジェクトは、非常に長い切れ目のない行を持っていても問題ないようです。

したがって、慣例に従いたい場合は、行を分割しないでください。境界線を破る決心をしている場合、それを行う方法について広く守られている慣習はありません。好みのコーディング スタイルを使用できます。

于 2012-08-23T01:09:10.107 に答える