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
誰のためのコメント? / comments-for-whom
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
yuki
January 09, 2025
Programming
0
110
誰のためのコメント? / comments-for-whom
【ペチオブ】2025年 新年会 書き初め LT
というイベントで発表したスライドです。
https://phper-oop.connpass.com/event/339339/
yuki
January 09, 2025
Tweet
Share
More Decks by yuki
See All by yuki
今年の抱負 2024/Aspirations for 2024
yyykms123
0
190
Vercel Ship まとめ「2023/5/1-5」
yyykms123
0
170
プロジェクト管理で失敗したこと
yyykms123
0
50
脱初心者のための GitHub Actions
yyykms123
0
320
プロジェクトをリリースするまでのプロセス
yyykms123
0
44
実務で使えるGitコマンド
yyykms123
4
1.2k
過去の自分へ送るLT!
yyykms123
0
94
Other Decks in Programming
See All in Programming
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
130
AIとペアプロして処理時間を97%削減した話 #pyconshizu
kashewnuts
1
180
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
12
7k
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1.1k
Railsの気持ちを考えながらコントローラとビューを整頓する/tidying-rails-controllers-and-views-as-rails-think
moro
4
360
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
130
浮動小数の比較について
kishikawakatsumi
0
360
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
410
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
180
TROCCOで実現するkintone+BigQueryによるオペレーション改善
ssxota
0
120
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
420
Event Storming
hschwentner
3
1.3k
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
82
[SF Ruby Conf 2025] Rails X
palkan
2
800
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
110
Color Theory Basics | Prateek | Gurzu
gurzu
0
220
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
140
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
280
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
260
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
The Curious Case for Waylosing
cassininazir
0
260
Transcript
誰のためのコメント? 【ペチオブ】2025年 新年会 書き初めLT 2025.01.09 / Yukimasa Ikeda
目次 1. コメントがないコード 2. 過剰なコメント 3. 意図が伝わらないコメント 4. 理想のコメント 2
1. コメントがないコード function a() { execute(); } 「何をする関数か全く分からない…」 このコードを書いた本人に3年後に聞いても「たぶん緊急対応だった」と返される かも。
コメントがないコードの問題 チームで開発している場合、他のメンバーがコードの意図を理解できない。 自分自身でも時間が経つと記憶が曖昧になる。 3
2. 過剰なコメント 実況中継のようなコメントは、逆にノイズになります。 // ループ処理を開始します for (let i = 0;
i < items.length; i++) { process(items[i]); } 「見れば分かる!」と思わずツッコミたくなる。 コメントを書くこと自体が目的になっているケース。 過剰なコメントの問題 コードが変わってもコメントが更新されず矛盾が生じる。 コメントが増えるほど、意図を探すのが困難になる。 4
3. 意図が伝わらないコメント よくある例: 「TODO: 後で直す」 // TODO: 後で直す const result
= doSomething(); なぜ後で直す必要があるのか? どんな状況を想定しているのか? 意図が伝わらないコメントの問題 他人や未来の自分が見ても、何をしたかったのか分からない。 修正のタイミングや優先度が曖昧になる。 5
4. 理想のコメント コメントを書く際は、以下のポイントを押さえるべきです。 1. 目的を説明する: 「この処理が必要な理由は何か?」を明確にする。 2. 意図を明確にする: 「この方法を選んだ背景は何か?」を伝える。 3.
背景を書く: 設計のトレードオフや、特定の仕様に対応した経緯などを補足する。 理想のコメントの例 // ユーザー一覧を取得する際にページネーションを行うため // クエリにlimitとoffsetを追加しています const users = fetchUsers({ limit: 10, offset: 20 }); 6
まとめ コメントは未来の自分や他人に向けて書く。 ただし、コード自体が意図を伝えられるなら、不要なコメントは書かない。 コメントの量より、質が重要。 7
書き初め 8