Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
リーダブルコード入門
Search
DMTC
August 28, 2014
Programming
0
170
リーダブルコード入門
DMTC勉強会で利用した資料です
DMTC
August 28, 2014
Tweet
Share
More Decks by DMTC
See All by DMTC
Web Server Study for Beginners
dmtc
0
110
Framework Study for Beginners
dmtc
0
82
DB Design Study for Beginners
dmtc
0
120
how to use "slack" in our Hackathon
dmtc
0
300
pitch_codeprep@ventureday
dmtc
0
80
ハッカソン用ピッチフォーマット
dmtc
1
670
Other Decks in Programming
See All in Programming
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
2.7k
AIコーディングエージェント(Manus)
kondai24
0
190
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
390
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
260
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.9k
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
270
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
160
AIエージェントの設計で注意するべきポイント6選
har1101
2
210
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
180
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
150
WebRTC と Rust と8K 60fps
tnoho
2
2k
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
150
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
It's Worth the Effort
3n
187
29k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Statistics for Hackers
jakevdp
799
230k
Bash Introduction
62gerente
615
210k
Designing for humans not robots
tammielis
254
26k
Done Done
chrislema
186
16k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Transcript
第一回 リーダブルコード入門 株式会社ギブリー 新田 章太
過去のCAMP 開発実績 アジェンダ 1. リーダブルコードとは ‐ そもそもリーダブルコードとは ‐ なぜリーダブルコードが必要なのか 2. 命名規則
‐ 命名規則とは? ‐ 単語を明確に ‐ ループイテレータ ‐ プレフィックスとサフィックス 3. コメントアウト ‐ コメントすべきでないこと ‐ コメントは簡潔に 4. 演習問題
過去のCAMP 開発実績 挨拶 自己紹介 新田章太(24) ・株式会社ギブリー 取締役COO兼CHO ・筑波大学理工学群社会工学類卒 ・エンジニア特化型のキャリア支援事業立ち上げ ・DMTC立ち上げ ・自社サービスの開発、運営、受託開発業務など
過去のCAMP 開発実績 アジェンダ 1. リーダブルコードとは ‐ そもそもリーダブルコードとは ‐ なぜリーダブルコードが必要なのか 2. 命名規則
‐ 命名規則とは? ‐ 単語を明確に ‐ ループイテレータ ‐ プレフィックスとサフィックス 3. コメントアウト ‐ コメントすべきでないこと ‐ コメントは簡潔に 4. 演習問題
1. リーダブルコードとは? ・Dustin Boswell , Trevor Foucher (著) ・須藤 功平
(解説) ・角 征典 (翻訳) 「リーダブルコード」 こちらの書籍をもとに、学んでいきます。
「読みやすいコード」 1. リーダブルコードとは?
「読みやすいコード」 1. リーダブルコードとは? 他の人が短時間で理解できるコード
「読みやすいコード」 1. リーダブルコードとは? 他の人が短時間で理解できるコード
“コードは他の人が最短時間で理解できるように 書かなければならない“ 1. リーダブルコードとは? ※リーダブルコードより引用
なぜ必要なのか? ・チーム開発 ・引き継ぎ 1. リーダブルコードとは?
1.そもそもリーダブルコードとは? 求められるもの ・命名規則 ・コメントアウト ・インデント/美しさ(順序) ・ループとロジックの単純化(ネストを最小化) ・分割方法(最適なまとめ方) ・再構成(汎用的なコードをつくる) などなど…
1.そもそもリーダブルコードとは? 今回触れること ・命名規則 ・コメントアウト ・インデント/美しさ(順序) ・ループとロジックの単純化(ネストを最小化) ・分割方法(最適なまとめ方) ・再構成(汎用的なコードをつくる)
過去のCAMP 開発実績 アジェンダ 1. リーダブルコードとは ‐ そもそもリーダブルコードとは ‐ なぜリーダブルコードが必要なのか 2. 命名規則
‐ 命名規則とは? ‐ 単語を明確に ‐ ループイテレータ ‐ プレフィックスとサフィックス 3. コメントアウト ‐ コメントすべきでないこと ‐ コメントは簡潔に 4. 演習問題
2.命名規則 命名規則とは? 命名規則とは、 プログラミングを行う際に識別子の名称となる文字 列を決定するためのルールを定めたもの。 ネーミング規則、ネーミング規約、命名規約とも呼 ぶ。通常は、ソースコードの可読性や視認性の向上、 プログラミング効率の改善などを目的としている。 ※wikipedia参照
2.命名規則 命名規則とは? $camelCase ($CamelCase) $snake_case
2.命名規則 命名規則とは? “名前に情報を詰め込む”
2.命名規則 単語を明確に
2.命名規則 単語を明確に Makeって具体的に何をするの?
2.命名規則 単語を明確に 単語 代替案 send deliver , announce , route
, distribute find search, extract , locate , recover start launch , create , begin , open make create , set , build , generate , compose , add , new
2.命名規則 ループイテレータ
2.命名規則 ループイテレータ 慣習として i j k を使うことが多い
2.命名規則 ループイテレータ
2.命名規則 ループイテレータ ネストが深くなるとミスに気づきづらい
2.命名規則 ループイテレータ 具体例 デメリット 慣習的なもの $i , $j , $k
ネストが深くなるとミスが出やすい 意味合いを持つ もの $index, $idx, $counter, $cnt 変数の頭文字を とる $ui,$cj,$mk
2.命名規則 プレフィックスとサフィックス ・接頭語(プレフィックス) 状態や行為を表すときに用いることが多い ・接尾語(サフィックス) 要素を補足するときに用いることが多い
2.命名規則 プレフィックスとサフィックス
2.命名規則 プレフィックスとサフィックス もし、ユーザーネームだったら??
2.命名規則 プレフィックスとサフィックス 接頭語 使用用途 is_◦◦ ◦◦かどうか has_◦◦ 既に◦◦かどうか can_◦◦ ◦◦が可能かどうか
Should_◦◦ ◦◦なべきかどうか 条件分岐を意識すると良い
2.命名規則 プレフィックスとサフィックス 接尾語 使用用途 ◦◦_ms , ◦◦_sec 値の単位を表す Html_utf8 ,
plaintext_password その他重要な属性を表す 変換処理などで苦戦しないように
2.命名規則 まとめ ・命名規則を使ってよりわかりやすく! ・意味は明確に具体的に書こう! ・汎用的なものに気をつけよう! ・プレフィックスとサフィックスを活用しよう!
過去のCAMP 開発実績 アジェンダ 1. リーダブルコードとは ‐ そもそもリーダブルコードとは ‐ なぜリーダブルコードが必要なのか 2. 命名規則
‐ 命名規則とは? ‐ 単語を明確に ‐ ループイテレータ ‐ プレフィックスとサフィックス 3. コメントアウト ‐ コメントすべきでないこと ‐ コメントは簡潔に 4. 演習問題
3.コメントアウト コメントすべきこと、すべきでないこと 何が登録されていたら? 発信するって具体的には? そもそもコードで理解できるのでは?
3.コメントアウト コメントすべきこと、すべきでないこと
3.コメントアウト まとめ コメントすべきでは「ない」もの ・コードから読めること ・よくないコードを補うコメント コメントは簡潔に ・代名詞は避ける ・動作は具体的に説明する
過去のCAMP 開発実績 アジェンダ 1. リーダブルコードとは ‐ そもそもリーダブルコードとは ‐ なぜリーダブルコードが必要なのか 2. 命名規則
‐ 命名規則とは? ‐ 単語を明確に ‐ ループイテレータ ‐ プレフィックスとサフィックス 3. コメントアウト ‐ コメントすべきでないこと ‐ コメントは簡潔に 4. 演習問題