

ワーカーが労働済みの仕事という意味の変数名を作りたい場合。  
jobs_worker_already_worked_for

jobs (which) the worker already worked
forという関係代名詞で修飾された名詞を変数名にした形ですが、関係代名詞風の変数名ってあまり一般的ではないですかね？  
(もしかしたら正確には現在完了形じゃないとおかしいかもです=> jobs (which) the worker **has** already worked
for)

結構複雑な意味をもたせたい場合どうしても関係代名詞風にしないとニュアンスが表せられない事があると思うんですが、かえってわかりにくいですかね？


CC BY-SA 4.0
2022-02-23T12:14:32.083
86539
2022-02-24T00:39:59.033
2022-02-23T12:46:07.773
3060
40650
question
ruby-on-rails 英語
関係代名詞みたいな変数名ってアリですか？


正式に「これだ」というものはございません。また、[Rubyのコーディング規約](https://www.ruby.or.jp/ja/tech/development/ruby/050_coding_rule.html)においても正式なものは存在しないとされています。参考のために、当該ページのリンク先を参照するのが良いかと思われます。  
他の言語で言えば[Pythonの規約(PEP8)](https://pep8-ja.readthedocs.io/ja/latest/#section-30)において、変数名は読みやすさのために必要に応じて単語区切りにすることが推奨されています。

また、質問に対する（主観的な）回答としては、関係代名詞風にするのは適切ではないと考えます。あくまで代名詞であるため、コードを読んだ人に解釈を委ねる形になります。そのような場合は変数の説明として用いるのが適切でしょう。  
上記の「ワーカーが労働済みの仕事」であれば`tasks_already_done_by_the_worker`や`tasks_completed_by_worker`と短くするか、`jobs`及び`tasks`をオブジェクトとし、そのメンバーとして、bool値で`is_completed`を持たせた方が可読性の向上につながると考えられます。


CC BY-SA 4.0
2022-02-24T00:16:41.150
86544
2022-02-24T00:39:59.033
2022-02-24T00:39:59.033
51317
51317
86539
answer