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
Yutorin
May 16, 2022
Programming
0
960
読みやすいコードを書こう
社内のLT会で発表したスライドです。
Yutorin
May 16, 2022
Tweet
Share
More Decks by Yutorin
See All by Yutorin
新卒でサービス立ち上げから Hasuraを使って3年経った振り返り
yutorin
0
670
Other Decks in Programming
See All in Programming
エンジニア向け採用ピッチ資料
inusan
0
160
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
1
700
Bytecode Manipulation 으로 생산성 높이기
bigstark
2
380
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
440
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
220
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
370
5つのアンチパターンから学ぶLT設計
narihara
1
120
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
highu
0
100
関数型まつりレポート for JuliaTokai #22
antimon2
0
160
XSLTで作るBrainfuck処理系
makki_d
0
210
PicoRuby on Rails
makicamel
2
110
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
220
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
53
7.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Optimizing for Happiness
mojombo
379
70k
For a Future-Friendly Web
brad_frost
179
9.8k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
It's Worth the Effort
3n
185
28k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
490
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