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
0
2.6k
Tama Ruby Kaigi 01
Yuki Kondo
July 04, 2019
Tweet
Share
More Decks by Yuki Kondo
See All by Yuki Kondo
アジャイルで複数施策を同時並行で進めるTips
konchan
0
160
Other Decks in Technology
See All in Technology
2.5Dモデルのすべて
yu4u
2
840
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
510
2/18/25: Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
0
110
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
0
220
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
970
プロセス改善による品質向上事例
tomasagi
2
2.5k
明日からできる!技術的負債の返済を加速するための実践ガイド~『ホットペッパービューティー』の事例をもとに~
recruitengineers
PRO
3
390
リアルタイム分析データベースで実現する SQLベースのオブザーバビリティ
mikimatsumoto
0
1.3k
2025-02-21 ゆるSRE勉強会 Enhancing SRE Using AI
yoshiiryo1
1
240
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
700
バックエンドエンジニアのためのフロントエンド入門 #devsumiC
panda_program
18
7.4k
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
200
Featured
See All Featured
Building an army of robots
kneath
303
45k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Embracing the Ebb and Flow
colly
84
4.6k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
174
51k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Statistics for Hackers
jakevdp
797
220k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
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 便利なツールも覚える
レビュー...めっちゃええやん
個人 チーム プロダクト スキルアップ 開発力アップ 品質アップ
レビューおすすめしてきたが... 注意すること
過度に細かくレビューすることが 良い訳ではない ・相手のコンテキストを理解する ・開発状況を理解する ・許容できるレベルかどうか判断する
何を達成したいかが重要
価値をユーザーに届けること
用法・用量を守って適切なレビュー