Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
(エンジニアに送る)人に優しくなるための3つの方法 / 3 Ways for Engineer...
Search
naoya_s
January 31, 2020
Programming
37
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
420
RuffではじめるPython開発 / Python Development with Ruff
suginao
0
74
AWS SAMをさわってみた話 / Try AWS SAM
suginao
0
53
全国在宅勤務制度のすゝめ / Practice of National Telecommuting System
suginao
1
25
サーバーレスなAPIサービスの全容 / All of the serverless API services
suginao
0
1.4k
Other Decks in Programming
See All in Programming
Laravelのアプリケーションをどこにデプロイするか #ツナギメオフライン.9
akase244
0
120
GKE で Pod の見方を変えたら、スケールアウト時の挙動を真に捉えられた話
stkk
0
110
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
55
36k
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
270
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
690
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
140
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
200
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
180
Family mrubyの進捗
kishima
1
110
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
2
250
GraphRAGのKnowledge Graphを 直接!見る/View-GraphRAG's-KnowledgeGraph-directly!
tyumugi1113
1
270
[DroidKaigi 2026] Bring your own phones to Gradle Managed Devices
f2lk
0
110
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
41
2.7k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
230
Building AI with AI
inesmontani
PRO
1
1.2k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
480
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
420
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
440
Navigating Team Friction
lara
192
16k
Being A Developer After 40
akosma
91
590k
The Curse of the Amulet
leimatthew05
2
14k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
510
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
The Cost Of JavaScript in 2023
addyosmani
55
10k
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
ツールを上手に使って 人間に優しくなろう! 最後に