$30 off During Our Annual Pro Sale. View details »

Railsのコードを読んでみる vol.1

Railsのコードを読んでみる vol.1

Sho Nagata

July 31, 2019
Tweet

More Decks by Sho Nagata

Other Decks in Programming

Transcript

  1. Railsのコードリーディング vol.1 2019.7.31 (Wed) Ebisu.rb#24 twitter: @s_naga03

  2. Who am I? • Sho Nagata • Backend Engineer@カカクコム •

    食べログのマイクロサービス化を推進中 • Ruby / Rails(歴は10ヶ月) ˏs_naga03 Sho Nagata nagata03
  3. Railsのコード読んだことありますか?

  4. 今回チャレンジしたのは…

  5. ActiveRecordの「バリデーション機能」

  6. 実はまだ読みきれていない…

  7. 今日は、Railsのコードを読んでみてわかったことや発見したことを お伝えします

  8. Validation • オブジェクトをDBに保存する前にオブジェクトの状態を検証

  9. Validation • 検証内容の定義例

  10. Validation • 検証のトリガ • create, create!, save, save!, update, update!

    • valid?, invalid?(DBに保存せず検証だけしたい時) → valid?メソッドから追ってみる
  11. active_record/varidations.rb active_model/varidations.rb

  12. active_model/varidations.rb active_support/callbacks.rb ʁ To Be Continued…

  13. 今回、Railsのコードリーディングを通してわかったことや発見したこと

  14. その1:黒魔術は避けられない

  15. その2:superよく使われる

  16. その3:GitHubのコードジャンプ便利

  17. その4:Methodクラスのメソッド便利

  18. Method#source_location

  19. Method#super_method

  20. その5:初級レベルの人間が1人で読み解くのはキツい

  21. まとめ • Railsのコードリーディング、ナメてかかると痛い目にあった • 業務で見るコードとは一味違うので、面白くもあり苦しくもある • コードを読み解く力は確実につく

  22. 今後 • バリデーション機能の実装を読み解く! • 仲間を集めて一緒に挑みたい • OSSにコミットしたい

  23. Thank you!!