Rails Developpers Meetup 2019へ行った

今更の話だけど、3/22 , 3/23に外苑前の日本オラクルで行われたRails Developers Meetup 2019に参加した。エレベーターのボタンの押し心地が良かった。

印象にのこった発表

万葉のRails新人研修のコードレビューコメントを分析してみました

  • Railsそのものよりも、RSpecやコーディングスタイルなど、お作法に関する対話が多くなる
    • 「必要のない自動作成されたファイルがPRにまぎれている場合はあなたが削除しなければいけませんよ」という認識をもたせる
    • コーディングスタイルは「linter入れれば」という話もあるけど、まずは「そういった細かいスタイルに気を配れる人」になってほしい
  • レビュイーは動くまでの関心が強く、レビュアーは動いたあとの関心が強くなる
  • レビュアーも背景、意図が伝わっていないレビューコメントを残していしまうことがあるので、背景、意図は積極的に伝えるようにする良い
  • 4つの価値観を大切にしたい
    • わかりすくする
    • 品質の向上
    • 開発時の行動
    • 変更に強くする

新人研修のやりとりで発生したレビューを分析するというとても手間がかかっていそうな発表だった。レビューの発話者の立場で一番多いのがレビュアー、レビュイー以外の一般社員というのがとても素敵だと思った。

Clean Test Code Revised

  • 可読性の高いテストコードとは

    • 脳に負担をかけないテストコードのこと
    • 以下のことがシンプルに記載されていること
      • テストの概要
      • 事前条件
      • 手続き
      • 期待する結果
  • 脳に負担をかける要素とは

    • テストの概要について
      • describe、context、itなどのグルーピングメソッドの説明が雑
    • 事前条件について
      • 事前条件で使われる変数のスコープが曖昧
      • スコープが散らばっていて、テストの全体を把握するのにコード、ファイルの行き来が必要
    • 依存性について
      • factory_botのデフォルト値に依存していると危険
      • factory_botafter: createを使うと可読性が下がる
        • traitを使う
    • shared_contextを使う
    • shared_exampleを使う

途中からプロジェクトに参戦して、shared_contextの内容を把握するのに一苦労したので、新規に作るときはshared_contextをできるだけ使わないようにする決意をした。