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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
naoya_s
January 31, 2020
Programming
36
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
(エンジニアに送る)人に優しくなるための3つの方法 / 3 Ways for Engineers to Be Kind to People
naoya_s
January 31, 2020
More Decks by naoya_s
See All by naoya_s
静的解析ツールの刷新に向けた取り組み
suginao
1
400
RuffではじめるPython開発 / Python Development with Ruff
suginao
0
69
AWS SAMをさわってみた話 / Try AWS SAM
suginao
0
47
全国在宅勤務制度のすゝめ / Practice of National Telecommuting System
suginao
1
23
サーバーレスなAPIサービスの全容 / All of the serverless API services
suginao
0
1.3k
Other Decks in Programming
See All in Programming
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
2k
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
2
680
3Dシーンの圧縮
fadis
1
770
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
120
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
230
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
130
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
170
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
570
さぁV100、メモリをお食べ・・・
nilpe
0
140
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
120
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.1k
Featured
See All Featured
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
330
A Soul's Torment
seathinner
6
2.9k
The agentic SEO stack - context over prompts
schlessera
0
820
New Earth Scene 8
popppiees
3
2.3k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
First, design no harm
axbom
PRO
2
1.2k
How to make the Groovebox
asonas
2
2.2k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
420
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
Typedesign – Prime Four
hannesfritz
42
3.1k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
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
ツールを上手に使って 人間に優しくなろう! 最後に