に格納されなければならない、私は私のコードや臭いの1をリファクタリングする最近Reekを使用してきた、DuplicateMethodCall、このようarray[1]
やhash[:key]
として、配列やハッシュのルックアップに呼び出されています複数回と呼ばれる。複数のアレイ/ハッシュルックアップを変数
私は複数の配列やハッシュ検索が非常に高価なので、変数を直接呼び出すのではなく変数に格納する必要があるのだろうかと思っていました。
変数内で複数のオブジェクトメソッド呼び出し(特にDB呼び出しの場合)を格納することをためらうことはありませんが、配列とハッシュの検索では、これは過度の気分になります。
例えば、私は、コードのこの部分のための警告を取得します:
def sort_params
return [] if params[:reference_letter_section].nil?
params[:reference_letter_section].map.with_index(1) do |id, index|
{ id: id, position: index }
end
end
が、私は、独自の変数にparams[:reference_letter_section]
を保存するように感じるが
コード品質ツールは常に、塩の粒で撮影する必要があります。
ここでは重複を持っていないあなたの方法のバージョンがあります。パフォーマンスに問題がない場合は、読みやすさが重要です。しかし、どちらの方が良いかを判断するためにあなたの判断を使用してください。ツールはあなたにどこを見るかを示します。 – ndn
ええ、それは@ndnとまったく同じですが、性能をどれだけ向上させるか分かりませんでしたので、ここでこれを尋ねています。 –
"パフォーマンスをどれだけ向上させるかわかりませんでした" - いつも_measure_それ。 –