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
ShotaAyabe
July 20, 2024
14
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
12
「リーダブルコード」で得た学び3選
shotaayabe
0
26
Featured
See All Featured
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
850
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
Optimising Largest Contentful Paint
csswizardry
37
4k
Building the Perfect Custom Keyboard
takai
2
910
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
630
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
460
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
Technical Leadership for Architectural Decision Making
baasie
3
600
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
360
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
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