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
12
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
26
Featured
See All Featured
Fireside Chat
paigeccino
43
4.1k
New Earth Scene 8
popppiees
4
2.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Optimising Largest Contentful Paint
csswizardry
37
4k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
310
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
KATA
mclloyd
PRO
35
16k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
600
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
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