Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
リーダブルコード読書会 #1
Search
Kenta Enomoto
July 17, 2014
Programming
0
330
リーダブルコード読書会 #1
社内リーダブルコード読書会 #1
Kenta Enomoto
July 17, 2014
Tweet
Share
More Decks by Kenta Enomoto
See All by Kenta Enomoto
調理場で使うタブレット専用アプリ をどうつくったか -STORES モバイルオーダー 実装の舞台裏-
enomotok
0
2
[DroidKaigi 2025] 共有と分離 - Compose Multiplatform "本番導入" の設計指針
enomotok
0
23
Kotlin Multiplatform / Compose Multiplatform を活用したモバイルアプリ開発の最前線
enomotok
0
100
Compose MultiplatformにおけるiOSネイティブ実装のベストプラクティス
enomotok
1
440
STORES ブランドアプリのスケールするアプリづくり
enomotok
0
58
What's new in Xcode 16 ダイジェスト
enomotok
0
820
Introducing Pkl
enomotok
0
2.9k
iOS リポジトリへの Renovate の導入
enomotok
2
400
iOS開発とGitLab CI
enomotok
7
4.1k
Other Decks in Programming
See All in Programming
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
5
1.4k
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
10
11k
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
150
スタートアップを支える技術戦略と組織づくり
pospome
8
15k
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
270
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
140
AIコーディングエージェント(Manus)
kondai24
0
130
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
230
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
400
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
5
2.1k
Integrating WordPress and Symfony
alexandresalome
0
120
FluorTracer / RayTracingCamp11
kugimasa
0
200
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
What's in a price? How to price your products and services
michaelherold
246
12k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Unsuck your backbone
ammeep
671
58k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Documentation Writing (for coders)
carmenintech
76
5.2k
Code Reviewing Like a Champion
maltzj
527
40k
Context Engineering - Making Every Token Count
addyosmani
9
470
Transcript
Ϧʔμϒϧίʔυಡॻձ
͓ू·Γ͍͖ͨͩ͋Γ͕ͱ͏ ͍͟͝·͢ɻ
w ಡॻձͷత w Ϧʔμϒϧίʔυʹ͍ͭͯ w ಡॻձͷਐΊํ ͓͠ͳ͕͖
ಡॻձͷత
w ྑ͍ίʔυͷॻ͖ํΛʹ͚ͭΔ w ʑͷษڧͷ͕͔Γʹ ಡॻձͷత
w ྑ͍ίʔυͷॻ͖ํΛʹ͚ͭΔ w ʑͷษڧͷ͕͔Γʹ w ϓϩάϥϛϯάʹ͍ͭͯؾܰʹͤΔ ಡॻձͷతʢͦͯ͠ཪςʔϚʣ
Ϧʔμϒϧίʔυʹ͍ͭͯ
None
ಡΈ͍͢ίʔυͷॻ͖ํΛ ղઆͨ͠ຊ
ίʔυίϯϓϦʔτͷ༰Λ ؆୯ʹ·ͱΊͨͷʁ
ɺͷίϯϐϡʔ λؔ࿈ॻ੶ͷؒച্Ґ ʢδϡϯΫಊௐʣ
ϦʔμϒϧίʔυͰ͍͏ ʮྑ͍ίʔυʯͬͯʁ
ͦΕ ʮཧղ͍͢͠ίʔυʯ
Qཁม ! if (request.user.id == document.owner_id) {! // Ϣʔβ͜ͷจॻΛฤू͢Δ! }!
! …! ! if (request.user.id != document.owenr_id) {! // จॻಡΈऔΓઐ༻! }
Qཁม ! if (request.user.id == document.owner_id) {! // Ϣʔβ͜ͷจॻΛฤू͢Δ! }!
! …! ! if (request.user.id != document.owenr_id) {! // จॻಡΈऔΓઐ༻! }
Qཁม ! if (request.user.id == document.owner_id) {! // Ϣʔβ͜ͷจॻΛฤू͢Δ! }!
! …! ! if (request.user.id != document.owenr_id) {! // จॻಡΈऔΓઐ༻! } ! final boolean user_owns_document = (request.user.id == document.owner_id);! ! if (user_owns_document) {! // Ϣʔβ͜ͷจॻΛฤू͢Δ! }! ! …! ! if (!user_owns_document) {! // จॻಡΈऔΓઐ༻! }
if (!(file_exists && !its_protected)) Error("Sorry, could not read file."); QυɾϞϧΨϯͷ๏ଇΛ͏
QυɾϞϧΨϯͷ๏ଇΛ͏ if (!(file_exists && !its_protected)) Error("Sorry, could not read file.");
if (!file_exists || is_protected) Error("Sorry, could not read file.");
ಡॻձͷਐΊํ
͡ΊΑ͏