第3章 コードの不吉な臭い

いつリファクタリングをして、終了するかの判断の参考

感想

実装中は同じ処理が3箇所とか言っていたけど、呼んでいるときは二箇所なのかな

お前のクラスは関数が多くて、見通しが悪いからもっとグローバル変数を使えって言うツイートを思い出した

rubyだとfrozen_string_literalのマジックコメントとかもこの変更可能なデータを防ぐやつだな

switch文?ナニソレオイシイノ?

ループの話で、filterやmapのほうがループに比べて、関数ごとに影響範囲が閉じ込められるので個人的には好き

例: 3の倍数のみを取り出す処理

ループの場合

l = []
n = 1
while n < 100 do
  l.append(n) if n % 3 == 0
  n += 1
end

p l

パイプライン操作の場合

p (1..100).filter { |n| n % 3 == 0 }