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
OTSUKA
July 07, 2021
Programming
0
2k
全てのコードに意図を持たせよう
2021/07/07 登壇
https://rakus.connpass.com/event/215225/
OTSUKA
July 07, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
offers_20241022_imakiire.pdf
imakurusu
2
370
Hotwire or React? ~Reactの録画機能をHotwireに置き換えて得られた知見~ / hotwire_or_react
harunatsujita
9
4.6k
cXML という電子商取引の トランザクションを支える プロトコルと向きあっている話
phigasui
3
2.3k
外部システム連携先が10を超えるシステムでのアーキテクチャ設計・実装事例
kiwasaki
1
240
macOS でできる リアルタイム動画像処理
biacco42
8
2.2k
Tuning GraphQL on Rails
pyama86
2
1.2k
GitHub Actionsのキャッシュと手を挙げることの大切さとそれに必要なこと
satoshi256kbyte
5
410
WEBエンジニア向けAI活用入門
sutetotanuki
0
310
Piniaの現状と今後
waka292
5
1.5k
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
150
生成 AI を活用した toitta 切片分類機能の裏側 / Inside toitta's AI-Based Factoid Clustering
pokutuna
0
670
役立つログに取り組もう
irof
27
8.9k
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
46
2.1k
The Invisible Side of Design
smashingmag
297
50k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Visualization
eitanlees
145
15k
Speed Design
sergeychernyshev
24
580
Testing 201, or: Great Expectations
jmmastey
38
7.1k
A designer walks into a library…
pauljervisheath
202
24k
Facilitating Awesome Meetings
lara
49
6.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
43
6.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Transcript
全てのコードに 意図を持たせよう 株式会社Frontier Lotus 大塚望生
自己紹介 名前: 大塚望生(Nozomu Otsuka) バックエンド: Ruby on Rais, Python, Firebase,
Golang フロントエンド: Vue.js(Reactに乗り換えたい)
会社紹介 商号: 株式会社Frontier Lotus https://frontier-lotus.com/ やってること: スタートアップ向けのシステム開発 「アプリ作って起業したい! でもITがわからん!」って言ってる起業家に代わ り、彼らのアイデアを実現したアプリを作っています。
自社アプリ: 部屋、探しといて! https://www.heya-sagashi-toite.com/
本題
リーダブルじゃないコードとは? ↓定番 ・膨大な量のコード ・複雑すぎるコード ・煩雑なコード ・一貫していないコードも読みにくい
一貫してないコードの例: 改行や空白 2行 1行 インデント
一貫してないコードの例: コメント コメントが あったりなかったり
一貫してないコードの例: 変数化 気まぐれ変数化
一貫してないコードは何が悪いか? 他の人に「どうして書き方が違うんだろう?」と悩ませる → レビュアーや他の開発者に「余計なことを考えさせる」 → 他者から時間を奪ってしまうようなコードは良くない
どうしたらコードに一貫性が出る?
一貫性が無くなる理由 A. なんとなく書いてるから
自分のコードの意図を説明出来ますか? ・なぜ改行したのか ・なぜコメントを振るのか ・なぜ変数化するのか ・なぜこの命名にしたのか ・なぜメソッドを分割したのか ・なぜこのディレクトリ構造なのか etc...
そうはいっても初心者・初学者は なーんもわからん!
初心者のうちは既存のルールに従おう! ・lintなどに従う ・フレームワークなどは「ベストプラクティス」を探す ・ちゃんとしたエディタを使う ・社内のコーディング規約に従う ・先輩の真似をしてみる
他の人の「意図」を学ぼう! 他の人の「意図」を考えることで、 自分のコードも良くなっていく!
最後に…… 株式会社Frontier Lotusでは、 創業期の荒波を一緒に戦ってくれるメンバーを募集しています! 「プログラミングさせてもらえなくて技術がつかないー」って悩んでる人、 どうですか!
[email protected]
ご清聴ありがとうございました!