Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
「リーダブルコード」で得た学び3選
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ShotaAyabe
July 20, 2024
26
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
「リーダブルコード」で得た学び3選
ShotaAyabe
July 20, 2024
More Decks by ShotaAyabe
See All by ShotaAyabe
「リーダブルコード」で得た学び3選
shotaayabe
0
14
「リーダブルコード」で得た学び3選
shotaayabe
0
12
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
225
10k
Building the Perfect Custom Keyboard
takai
2
910
Odyssey Design
rkendrick25
PRO
2
870
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Thoughts on Productivity
jonyablonski
76
5.4k
sira's awesome portfolio website redesign presentation
elsirapls
0
450
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
730
Abbi's Birthday
coloredviolet
4
10k
Transcript
© Yuta Tokumitsu. All Rights Reserved. 1 JR中央線 Developers もくもく<会
LT「リーダブルコード」で得た学び3選」
© Yuta Tokumitsu. All Rights Reserved. 2 自己紹介 ▪私について 綾部
翔太 (Ayabe Shota) 府中市出身 24卒 ▪なにをしている人 株式会社スペースマーケット Webエンジニア ▪趣味 テニス🎾カラオケ🎤 ▪技術スタック Ruby, Rails, TypeScript ▪アカウント Zenn https://zenn.dev/sterkste GitHub https://github.com/ShotaAyabe
Confidential © Spacemarket, Inc. All Rights Reserved. 3 30,000 サービス
Confidential © Spacemarket, Inc. All Rights Reserved. 4
© Yuta Tokumitsu. All Rights Reserved. 5 本日のテーマ「リーダブルコード」で得た学び3選
© Yuta Tokumitsu. All Rights Reserved. 6 ”コードは理解しやすい状態でなればなけない" •自分のコードを振り返ってみると・・・ →
チーム開発<個人開発寄りのコードになっていた →「レビューされるコード」を書いていなかった → 動くコードを書くことばかりに意識が向きがち → リファクタリングをするという意識も疎かに・・・ ①理解しやすいコードを書くこと
© Yuta Tokumitsu. All Rights Reserved. 7 ”コードは理解しやすい状態でなればなけない" •基本的な改善ポイント 「適切な改行を入れる」
「適切なコメントを記入する」 •基本的な開発サイクル 動くコード, テストを書く→リファクタリング ①理解しやすいコードを書くこと
© Yuta Tokumitsu. All Rights Reserved. 8 ①の方が読みやすい 左側: 調査対象の式
/ 右側: 比較対象の式 →「lengthは10以上だ」とすぐ分かる ②制御フローを読みやすくすること
© Yuta Tokumitsu. All Rights Reserved. 9 どちらの書き方が望ましいか迷う・・・ 「リーダブルコード」では以下の3点を考える ・条件は否定形よりも肯定形を使う
・単純な条件を先に書く ・関心を引く条件や目立つ条件を先に書く ②制御フローを読みやすくすること
© Yuta Tokumitsu. All Rights Reserved. 10 混乱しやすいコード 「isNotFlagがtrueだから...もしisNotFlagではないなら...?」 →コードを書いている時や書き終えた後に見直して
読みづらいコード(否定に否定を重ねるなど)に ならないようすることが大切 アンチパターン ②制御フローを読みやすくすること
© Yuta Tokumitsu. All Rights Reserved. 11 名前から情報を伝えられる例 →「ユーザー利用料の税込価格を計算する処理」
だとすぐに分かる “名前には情報を詰め込む、名前は短いコメントだと思えばいい” ーー命名に関して「リーダブルコード」より 情報を詰めきれていない命名とは・・・? → 名前を通して情報を伝えられていない ・連番 ・「Process」など抽象的な言い回し ③命名テクニック
© Yuta Tokumitsu. All Rights Reserved. 12 言い換え 具体的に言い換えを活用することで意図が伝わりやすくなる
引数に単位を追加する → 読みやすさやバグ防止に役立つ サイズの単位がMBであることが明記されたことで単位の誤認によるミスも防げる ③命名テクニック
© Yuta Tokumitsu. All Rights Reserved. 13 学び1 理解しやすいコードを書くこと 学び2
学び3 制御フローを読みやすくすること 命名テクニックを工夫すること まとめ
© Yuta Tokumitsu. All Rights Reserved. 14 募集中の職種 Webエンジニア アプリエンジニア インフラエンジニア 採用情報
None