1

私の前の質問の後、回答(@Andy H)は、関連する問題はステートメントの順序であると述べました。それで、一般的に、「前後のステートメントの依存関係」を持つことは「正しい」/「正しい」ですか?つまり、たとえば、次の作業コードがある場合

class Article < ActiveRecord::Base
  acts_as_list ...

  include MyModule
end

次のコードは機能しませ

class Article < ActiveRecord::Base      
  include MyModule

  acts_as_list ...
end

クラスの実装を継続しない「悪い」理由はありますか?つまり、一般的に、他のステートメントの順序に依存するステートメントを作成することは良い考えですか?

4

2 に答える 2

2

これは「良い」か「悪い」かという問題ではないと思います。

たまたまコードがトップダウンで実行される場合があります。

したがって、statement_a追加された動作に依存するコードがある場合は、前にstatement_b置くことが唯一の解決策です...statement_bstatement_a

于 2012-09-28T14:33:49.603 に答える
0
  1. あなたの場合:はい、それは受け入れられません。概念的には、順序は重要ではありません。固定された順序を強制的に機能させるのは実装です。よくない。

  2. 一般的に:もちろん、Rubyのような怠惰でない言語では、ステートメントの順序が重要です。x = 1; y = 2 * xしかし、状態と副作用を伴うものの「依存関係」の順序は同じではありません(愚かな例:) x = []; x << 1 if condition1?; x << 2 if condition2?; x

于 2012-09-28T14:34:57.417 に答える