JOJO 第4部を読み終わった

上京する前後が第4部だった気がして、最後まで読んだかあやしいパートでいろいろと復習できてよかった。

iPhone X を修理しに行った

一週間くらい前から、数十秒起動していると右上が緑色に発光するという現象になって、液晶パッドがタッチしていない状態で過度に反応したり、反対にまったく反応しない箇所が現れたりしていて不便していた。

ソフトバンクでは受け付けていないとのことで、ジーニアスバーで予約して Apple Store で修理してもらった。

液晶の問題だけであれば 3,000 円から 4,000 円くらいの修理だったが、どうも iPhone X の緑色に発光する裏側あたる箇所が割れていることから、本体故障の疑いが出ていた。結果としてはビンゴで iPhone X の裏側から落ちた勢いで内部が歪んでしまっていた模様。

本体交換一択の運びとなり Apple Care + 保障適用料金として 12,744円 (税込) とフロントの強化で 14,320 円の修復費となった。

Code Review Meetup #4 で話します

『Code Review Meetup #4 Code Reviewで集まろう』の登壇タイトルとコンテンツが公開された。

sideci.connpass.com

コードレビューそのものに関する話はあまりしてこなかったので、そういった話を盛り込んで行く予定。

タイトルは onk の『RSpec しぐさ』へのオマージュです。

Style/EmptyCaseConditionのauto-correct不具合を避けるようにした

以下のイシューで Style/EmptyCaseCondition に関する auto-correct の不具合のフィードバックがあったことがはじまり。

github.com

ちょうど今日、勤務先での月例会の後に残ったメンバーで、上記イシューにおける case...whenif...elsif での振る舞いの違いについて話していた。

まとめとしては以下のとおり、case あるいは if で戻り値を代入し、その中の when 節なんかで return をしたときの振る舞いが異なるというものだった。

以下のように when だと return の値が返る。

def foo
  v = case
  when true
    return 2
  end
end

p foo # => 2

if だと "void value expression" エラーになる。

def bar
  v = if true
    return 2
  end
end

bar # => hoge.rb:4: void value expression

return のケースだけガード条件にするということも思い浮かんだが、複雑な条件式を含んだ長いメソッドになると自動修正は難しそうなのと、意味合いを変えるようなスタイル変更の offense が良いのか判断が難しかったため、帰宅後にパッチを書いたものとして以下の PR では偽陰性にしておいた。

github.com

Railsdm Podcast #2 を聴いた

Railsdm Podcast #2 - It's self-evident (@mtsmfm) を聴いた。

ちょくちょく「koic さん」と言及してもらっていて光栄です。あと私も mtsmfm と仲が良いと思っていますよ。