Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Tama Ruby Kaigi 01
Search
Yuki Kondo
July 04, 2019
Technology
2.7k
0
Share
Tama Ruby Kaigi 01
Yuki Kondo
July 04, 2019
More Decks by Yuki Kondo
See All by Yuki Kondo
アジャイルで複数施策を同時並行で進めるTips
konchan
0
210
Other Decks in Technology
See All in Technology
制約を設計する - 非決定性との境界線 / Designing constraints
soudai
PRO
5
1.4k
JAWS DAYS 2026でAIの「もやっと」感が解消された話
smt7174
1
130
AIドリブン開発の実践知 ― AI-DLC Unicorn Gym実施から見えた可能性と課題
mixi_engineers
PRO
0
110
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
5
1.3k
スケーリングを封じられたEC2を救いたい
senseofunity129
0
140
TUNA Camp 2026 京都Stage ヒューリスティックアルゴリズム入門
terryu16
0
670
自分をひらくと次のチャレンジの敷居が下がる
sudoakiy
5
1.8k
「決め方」の渡し方 / How to hand over the "decision-making process"
pauli
6
1.1k
出版記念イベントin大阪「書籍紹介&私がよく使うMCPサーバー3選と社内で安全に活用する方法」
kintotechdev
0
150
Cortex Codeでデータの仕事を全部Agenticにやりきろう!
gappy50
0
290
JSTQB Expert Levelシラバス「テストマネジメント」日本語版のご紹介
ymty
0
120
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
53k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.5k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
250
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
330
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Documentation Writing (for coders)
carmenintech
77
5.3k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
190
Transcript
プロになるためのレビューのススメ Tama Ruby会議01, 2019/07/06 @konchan_x
Yuki Kondo(@konchan_x) # 所属 DeNA ヘルスケア #
やってること サーバーサイドエンジニア Ruby, Rails Go, GAE, Firestore Vue.js, Nuxt.js, Flutter # 前職 SIer, SE, Dive into Code
Rubyistとしての成長... いつした?
レビューされた or した => 成長を実感
レビューされるメリット
ベテランのチェックでコード品質&スキルUP 01 User.all.each do |user|... > 全件取得でオンメモリになってまうで... User.find_each do
|user|...
見てもらうために読みやすいコードを意識する 02 # 命名規則 ユーザーのメールアドレスを取得したい NG: user.get_email OK: user.email
# メソッド定義のシグネチャ ユーザーIDに該当するユーザーを取得したい NG: def find_by_id(user) OK: def find_by_id(user_id)
レビューするメリット オススメ
プロの技を盗める 01 ・責務分割 ・delegate(移譲) ・||= (自己代入) ・DI(依存性注入) ・開発Contextごとの実装の違い class User
attr_reader :id delegate :name, to: :profile def initialize(id) @id = id end private def profile @profile ||= ::Profile.new(self) end end class Profile def initialize(user) @user = user end def name "#{@user.id}: konchan" end end
コードから始まるコミュニケーションが増える 02 あそこの アーキテクチャどう なってた? コンポーネントの認 証について教えて 欲しいっす 外部連携データの フォーマットどうなっ
てる? 二日酔いやばい...
プロジェクトの状況を把握する力がつく 03 A案件 B案件 C案件 日頃からタスクや仕様を確認する むりぽ...
・命名 ・デザインパターン ・責務 ・アーキテクチャ ・DDD ・パフォーマンス ・セキュリティ 自分ならどう実装するか比較する 04
レビューサイクルのメリット
適切な単位でPRを作成するようになる 01 変更ファイル50ファイル 差分+2000行, -500行 修行かな? 変更ファイル5ファイル 差分+100行,
-20行
相手に理解してもらうために資料を用意する 02 ・シーケンス図 ・業務フロー図 ・ER図 ・アーキテクチャ図 ・API仕様 ... PlantUML Swagger,
OpenAPI 便利なツールも覚える
レビュー...めっちゃええやん
個人 チーム プロダクト スキルアップ 開発力アップ 品質アップ
レビューおすすめしてきたが... 注意すること
過度に細かくレビューすることが 良い訳ではない ・相手のコンテキストを理解する ・開発状況を理解する ・許容できるレベルかどうか判断する
何を達成したいかが重要
価値をユーザーに届けること
用法・用量を守って適切なレビュー