エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
現在時刻を扱うメソッドはデフォルト引数を使いましょうという話 - けんちゃんくんさんのWeb日記
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
現在時刻を扱うメソッドはデフォルト引数を使いましょうという話 - けんちゃんくんさんのWeb日記
GMOペパボ1ヶ月記念に、おそらく一番最初にコードレビューで伝えたことを書いておこうと思う。 まとめ ... GMOペパボ1ヶ月記念に、おそらく一番最初にコードレビューで伝えたことを書いておこうと思う。 まとめ 現在時刻を扱うようなメソッドには、デフォルト引数で Time.now を使って、外からも時刻を渡せるようにしましょう。 テストのため 2014年の今となっては、テストのために時刻の扱いを気をつけましょうという必要もない気がするけど、CodeIQの和田さんの解説にもあるように、システム全体の時刻をスタブしたりするのは多少のリスクが伴うと思う。 実行中に現在時刻が変わってしまう 問題は 複数の現在時刻を扱うロジックを連続で実行すると現在時刻が変わってしまう ということである。 1つのコード例は以下の通り。 class Article < ActiveRecord::Base scope :recents, -> { where('created_at > ?', 1.week.ago) } e