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.8k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Tama Ruby Kaigi 01
Yuki Kondo
July 04, 2019
More Decks by Yuki Kondo
See All by Yuki Kondo
アジャイルで複数施策を同時並行で進めるTips
konchan
0
250
Other Decks in Technology
See All in Technology
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
タクシーアプリ『GO』の実践的データ活用
mot_techtalk
3
190
EventBridge Connection
_kensh
5
690
社内 AI エージェント Synapse と セマンティックレイヤーの育て方
hiroakis
2
1.7k
フロンティアAIのゲート化と地政学リスク
nagatsu
0
120
2026TECHFRESH畢業分享會 - 原生還是跨平台? App 開發踩坑實錄
line_developers_tw
PRO
0
810
FDE という解 ― 暗黙知と明示知をつなぐ、伴走型エンジニアリング ―
otanet
0
130
手塩にかけりゃいいってもんじゃない
ming_ayami
0
360
なぜ Platform Engineering の土台に Kubernetes を選ぶのか
r4ynode
2
590
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
370
LLMにもCAP定理があるという話
harukasakihara
0
290
非エンジニアがClaudeと挑んだ「1ヶ月間プロダクト30本ノック」
askokc
0
320
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
280
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
940
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
230
Building an army of robots
kneath
306
46k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
エンジニアに許された特別な時間の終わり
watany
107
250k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
570
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
440
So, you think you're a good person
axbom
PRO
2
2.1k
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 便利なツールも覚える
レビュー...めっちゃええやん
個人 チーム プロダクト スキルアップ 開発力アップ 品質アップ
レビューおすすめしてきたが... 注意すること
過度に細かくレビューすることが 良い訳ではない ・相手のコンテキストを理解する ・開発状況を理解する ・許容できるレベルかどうか判断する
何を達成したいかが重要
価値をユーザーに届けること
用法・用量を守って適切なレビュー