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
(エンジニアに送る)人に優しくなるための3つの方法 / 3 Ways for Engineer...
Search
naoya_s
January 31, 2020
Programming
0
23
(エンジニアに送る)人に優しくなるための3つの方法 / 3 Ways for Engineers to Be Kind to People
naoya_s
January 31, 2020
Tweet
Share
More Decks by naoya_s
See All by naoya_s
静的解析ツールの刷新に向けた取り組み
suginao
1
370
RuffではじめるPython開発 / Python Development with Ruff
suginao
0
58
AWS SAMをさわってみた話 / Try AWS SAM
suginao
0
33
全国在宅勤務制度のすゝめ / Practice of National Telecommuting System
suginao
0
13
サーバーレスなAPIサービスの全容 / All of the serverless API services
suginao
0
1.2k
Other Decks in Programming
See All in Programming
Vibe codingでおすすめの言語と開発手法
uyuki234
0
160
Cap'n Webについて
yusukebe
0
160
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
470
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
930
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
320
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
220
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
290
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
180
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
180
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
760
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.4k
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
1
500
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
GraphQLとの向き合い方2022年版
quramy
50
14k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
110
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
420
Navigating Team Friction
lara
191
16k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
0
410
Typedesign – Prime Four
hannesfritz
42
2.9k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
140
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
How to build a perfect <img>
jonoalderson
1
4.8k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.8k
Transcript
(エンジニアの方々に送る) 人に優しくなるための 3つの方法 Webナイト宮崎 Vol.8 ~てげ良いコード書きたい~
お前誰よ?? 名前:杉田 尚弥(@suginao17) 出身:宮崎 所属:株式会社アラタナ 趣味:辛麺
良いコード is 何?
先生に聞いてみた!
None
None
今回話す、”良いコード” 他人(レビュアー)が見て 理解しやすい・親切なコード
どうやったら書けるの? ・エンジニア個々人が努力する💦 ・プロジェクトやチーム単位で コーディング規約を設ける😩
否
結論: エンジニアが疲弊するだけなので ツールやライブラリを使おう!
【フォーマッタ】 flake8, black 【静的型チェッカー】 mypy 【ツール・エディタ】 pre-commit VSCode PyCharm
フォーマッタ 【flake8】 ・PEP8に加え、シンタックスエラーまでチェックする ・pyflakes(論理的なエラーを検知) ・pycodestyle(規約に準拠しているか検知) ・mccabe(循環複雑度の高いコードを検知) ・設定ファイルで自由に規約を変更できる
フォーマッタ 【black】 ・PEP8に準拠しているかのチェック ・制限が強く自由に設定ができない → 導入が楽 ・flake8と相性が悪いので、一部設定を変える必要有
None
静的型チェッカー 【mypy】 ・Python3.5で実装された型ヒントを静的に解析する ・実行前に型エラーを検知できる ・可読性を担保する
ツール 【pre-commit】 ・フックスクリプトを管理する ・GitHubで公開されているリポジトリを指定して実行できる ・任意のタイミングで処理を実行できる ・コミット前にフォーマット ・プッシュ前に型チェック
エディタ 【VSCode】 ・設定ファイル次第で可能性は∞👍 ・設定沼にハマらないように注意 【PyCharm】 ・Pythonを書くんだったら、間違いない ・設定しなくても、だいたいのことができる
【言語別対応表】 並べたものの、あまりピンとこない... 大体あってる!? おまけ Python PHP JavaScript フォーマッタ black PHPMD
Prettier リンター flake8 PHPCS ESLint 型チェック mypy Phan Flow
ツールを上手に使って 人間に優しくなろう! 最後に