毎日やったことを記録していく(2019/9/3 149日目)
今日やったこと
英語
TOEIC® L&R テスト 文法問題 でる1000問
- 回答数:5問
iKnow
- 新規:0個
- 復習:5個
スタディサプリENGLISH
- クイックワードクイズ:1サブセクション
開発
danime-nico-tools
fixtures
の更新
知ったこと
定数(クラス)の取得
生のRubyではString#classify
が使えないが、Object.const_get
で定数(クラスも)を取得できる。
ただし、1階層しか取得できないので子階層の定数(クラス)を取得する際は複数回Object.const_get
を呼ぶ必要がある。
不要な抽象化
柔軟性やDRYを求め過ぎて抽象化しすぎるとかえって可読性・保守性の低いコードになってしまうので、素直なコードを書いた方がいい場面も多い。
参考
名前をつけるか直に書くか
名前をつけたバージョン
def hoge_information hoge_information_members.map(&method(:member)).join(', ') end def hogeinformation_members %i[first_name last_name age address telephone_number] end
直に書いたバージョン
def hoge_information %i[first_name last_name age address telephone_number].map(&method(:member)).join(', ') end
メソッドとして名前をつけた場合、配列の種類が増えてくるとhoge_information_memberのようなメソッドがどんどん増えていくことになるのでソースコードの見通しが悪くなってしまう。
感想等
やっぱりレビュー受けるのは楽しい
研修でコードレビューを受けてるけど、一人でコードを書いているときにはない学びを得られて非常に楽しい。
あと、レビューで褒められるとモチベーション上がるのが実感できたので今後は褒めスキルをもっと高めていきたい。