2011-02-05 4 views
2

Rubyを扱うケースはほとんどありませんが、ほぼすべての言語に適用できます。コレクションまたは単一の項目のいずれかを表すパラメータの命名規則(または用語)

私はnoun_or_nounsを使用して、コレクションまたは単一項目のいずれかを表すパラメータに名前を付けました。たとえば、action_or_actions,favorite_sidewalk_or_sidewalks

命名規則はそれほど難しくありませんか?コレクションまたは単一のアイテムになる可能性のあるオブジェクトを説明する単語は1つありますか?私は主にC++とC#を扱ってきましたが、このようなことはこれらの言語のいずれにも当てはまりません。

私は何かを自己文書化しているので、メソッドの呼び出し側は、コレクションまたは単一の項目のいずれかが受け入れ可能であることを認識します。

答えて

3

私はちょうど複数の名前を使用し、単数をドロップします。 1つのアイテムしかない場合でも、それを何か別の方法で扱う時間がありますか?

names.each do |name| 
    #do something with the name 
end 
+0

私は、メソッドの呼び出し側がコレクションまたは単一項目のいずれかが受け入れ可能であることを知るために、何らかの自己文書化を探していることが望ましいです。しかし、私は* convention *について尋ねましたので、これはコンベンションであるかもしれません... – ClosureCowboy

+3

名前を思いついたときは、しばしば私のデザインが少しぎこちないという印です。個人的には、明示的な選択肢にはしません。便宜のためにオプションを提供したい場合は、2つの異なるメソッドを持つことができます(そしてコレクションを受け入れるメソッドからsingular-paramメソッドを呼び出すこともできます)。柔軟性が魅力的であるように、それは[両刃の剣である](http://www.threeriversinstitute.org/AbstractVsConcreteParameters.html)(ただし、記事はおそらく動的言語には関連しない)。多分もっと経験豊富なRubyistが重くなるかもしれません... –

+0

これはまったく厄介なことではありません - 実際にはRubyライブラリの共通の "イディオム"で、特定のパラメータに対してコレクションと単一項目を許可します。パラメータを扱うための 'Array(my_parameter).each'はコレクションであるが、しかし、私は単一の命名規則を見たことはありません。そのようなパラメータに複数の名前を付けるのが最も一般的な場合、あなたはその質問に答えました。 – ClosureCowboy

関連する問題