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
20251209_プログラミング原則の学び
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
nikawa2161
December 28, 2025
0
12
20251209_プログラミング原則の学び
nikawa2161
December 28, 2025
Tweet
Share
More Decks by nikawa2161
See All by nikawa2161
Sagaパターン入門(続編)
nikawa2161
0
9
Sagaパターン入門
nikawa2161
0
13
沖縄観光とPostgreSQL排他制約の話
nikawa2161
0
19
自分のコードを数年ぶりに読んだら
nikawa2161
0
6
ユーザーインタビュー分析に参加して得られたことと気づき
nikawa2161
0
6
oEmbedとは?
nikawa2161
0
16
はじめまして、にかわです
nikawa2161
0
10
課題を映す問題空間と、答えを描く解決空間
nikawa2161
0
9
転生したら自己肯定感MAXになりたい
nikawa2161
0
7
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
60
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
The Spectacular Lies of Maps
axbom
PRO
1
490
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
100
Crafting Experiences
bethany
1
43
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
150
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
Transcript
プリンシプル オブ プログラミング 2025.12.09 原則は失敗したあとに効く nikawa2161 1
本日のアジェンダ 1. KISS:シンプルに保つ 2. YAGNI:必要なものだけ作る 3. DRY:重複を避ける nikawa2161 2
はじめに 読んでの感想 「3 年目までに身につけたい101 の原理原則」より 最近の実装と設計から考えたこと うまくいかなかった点も含めて nikawa2161 3
なぜ原則の話をするのか コードは変わる 動いている = 良いコードではない あとから「つらくなる」瞬間が来る 原則は迷ったときの指針になる nikawa2161 4
KISS:シンプルとは何か Keep It Simple, Stupid シンプル = 賢い実装ではない 責務が小さい 関係性が少ない
読んで理解しやすい nikawa2161 5
KISSが壊れる瞬間 よくある失敗 新技術を使いたくなる 将来に備えたくなる 親切心で要件を足してしまう nikawa2161 6
バリデーション実装での学び 動くけどつらい 条件分岐が多い 責務が増えている どこを触ればいいか分かりにくい nikawa2161 7
共通化の難しさ 現実の課題 範囲が広くなりすぎる 特定の場所にしか使えない 汎用的に見えて汎用的でない nikawa2161 8
YAGNI:予測は外れる You Aren't Gonna Need It 将来を考えて書いたコード ほとんどの場合、使われない コードが重くなる原因になる nikawa2161
9
今必要なものに集中 YAGNIの実践 汎用性よりも今の価値 拡張性よりもまず動くこと 使われてから考える nikawa2161 10
エラーハンドリングでの反省 あとから欲しくなったもの 実際に何が起きたか分かる情報 リクエスト内容 デバッグしやすさ nikawa2161 11
DRY:One Fact in One Place Don't Repeat Yourself 同じ事実は一か所に DB
設計の基本原則 正規化はそのための手段 nikawa2161 12
DB設計で考えること 本質を見極める これは本質的なデータか UI 都合に引っ張られていないか トレードオフを理解しているか nikawa2161 13
正直な反省 失敗から学ぶ UI が欲しい形をDB に押し込んだ 将来変更しづらい可能性がある 今なら違う選択をするかも nikawa2161 14
抽象とは何か 2つの考え方 捨象:不要なものを捨てる 一般化:共通点を取り出す 複雑さを減らすための考え方 nikawa2161 15
共通化と抽象化 重要な違い 共通化 ≠ 良い抽象 早すぎる抽象は失敗しやすい 具体から抽象が生まれる nikawa2161 16
今の自分の立ち位置 まだ道半ば まだうまく使えているわけではない でも大事な視点だと分かった 意識するだけで設計が変わる nikawa2161 17
今日伝えたいこと 原則の価値 原則は失敗したあとに効く 迷ったときに戻る場所になる 完璧じゃなくていい nikawa2161 18
まとめ 3つのポイント シンプルは最大の武器 重複と未来予測は敵 一歩ずつコードを良くしていく nikawa2161 19