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
読みやすいコードを書こう
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yutorin
May 16, 2022
Programming
1.1k
0
Share
読みやすいコードを書こう
社内のLT会で発表したスライドです。
Yutorin
May 16, 2022
More Decks by Yutorin
See All by Yutorin
新卒でサービス立ち上げから Hasuraを使って3年経った振り返り
yutorin
0
740
Other Decks in Programming
See All in Programming
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
490
UaaL×Androidアプリのメモリ計測 — Memory Profilerの先へ
rio432
0
150
Making the RBS Parser Faster
soutaro
0
700
AlarmKitで明後日起きれるアラームアプリを作る
trickart
0
130
AI時代になぜ書くのか
mutsumix
0
370
【ディップ|26年新卒研修資料】OpenAPI/Swagger REST API研修
dip_tech
PRO
0
150
実用!Hono RPC2026
yodaka
2
310
AIベース静的検査器の偽陽性率を抑える工夫3選
orgachem
PRO
4
450
GitHubCopilotCLIをはじめよう.pdf
htkym
0
330
PHPer、Cloudflare に引っ越す
suguruooki
1
160
How We Benchmarked Quarkus: Patterns and anti-patterns
hollycummins
1
190
Liberating Ruby's Parser from Lexer Hacks
ydah
2
2.7k
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
610
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Google's AI Overviews - The New Search
badams
0
1k
Mind Mapping
helmedeiros
PRO
1
190
Into the Great Unknown - MozCon
thekraken
41
2.5k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
170
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
350
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Transcript
読みやすいコードを書こう 2022/05/13 - Yutorin
2 自己紹介 Yutorin 日本語が下手です
・読みにくいコードがあると、 読みたくないし時間もかかる! 3 読みやすいコード書いてる? reference: https://qiita.com/shimataro999/items/ef6cd838d56f1fe87015
・レビューしたくなくなる ・治安が悪くなる ・ = 読みにくいコードが再生産される ・なにより次の日自分で読めない! 4 自分が読めればええやん?
いくつか抜粋して紹介します ・何が良いコードなのか? ・良くなるコードの書き方 ・コメントについて 5 そのために古事記を読め
・良いコードは1行で凄いことをすることじゃなくて、 理解しやすいかどうか ・コードは他の人が最短時間で理解出来るようにする ・そのためにコメントをつけることも大事 ・常に「このコードは理解しやすいだろうか?」と頭の中の誰かに問い 続ける 6 理解しやすいコード
・dataとかsizeとか曖昧な単語ではなく、明確で正確な単語を使おう ・data: property, description, result ・size: height, bytes, weight ・類語辞典を使おう
・get 類義語 ・get synonyms とか検索すると色々でてくる 7 名前に情報を詰め込もう
・変数に入っている情報が名前だけで読み取れないなら、追加したほう がいい ・base64化したchime_idなら encodedChimeId とか、 base64ChimeIdとか。 ・圧縮したjpg画像なら compressedImage とか compressedJpgとか
8 名前に情報を追加する
・プログラミングの時間のほとんどはコードを読む時間 ・同じようなことをするなら、同じようなものを作ろう 9 一貫性のあるコードを書こう
・コメントの目的は、書き手の意図を読み手に知らせること ・コードを書いているときの自分の考えを記録する ・他の方法がある場合、なんでこの方法を選んだか ・欠陥がある場合はFIXME、やることが残っているならTODOなど ・関数名やコード軽く眺めるだけでは得られない必要な情報 ・e.g. 7日より前のファイルは消えているためその日付以前は filter()している とか。 10 コメントをすべきこと
・コードからすぐわかることをコメントに書かない ・コメントをつけるよりも変数名を変える方がいい場合もある 11 コメントすべきではないこと
・コメント書いたほうが良いかな?と思った場合はとりあえず書こう ・後から丁寧に書き直してみたり、今まで振り返ってきたこと(改善 点を見つけてより良くする)をやってみる。 ・// ヤバいかも。重複してたら壊れちゃう。 →// 注意:この関数は重複を処理できません(難しいので) 12 とりあえず書いてみよう
・読む人の気持ちになろう ・コードを通して他の人と対話するように ・英語脳になろう ・英語が伝わってるかどうか考えることで良いコードになる・・かも? ・こだわりを持とう 13 要は...
14 読んでみてね!おわり!
15