×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
(エンジニアの方々に送る) 人に優しくなるための 3つの方法 Webナイト宮崎 Vol.8 ~てげ良いコード書きたい~
Slide 2
Slide 2 text
お前誰よ?? 名前:杉田 尚弥(@suginao17) 出身:宮崎 所属:株式会社アラタナ 趣味:辛麺
Slide 3
Slide 3 text
良いコード is 何?
Slide 4
Slide 4 text
先生に聞いてみた!
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
No content
Slide 7
Slide 7 text
今回話す、”良いコード” 他人(レビュアー)が見て 理解しやすい・親切なコード
Slide 8
Slide 8 text
どうやったら書けるの? ・エンジニア個々人が努力する💦 ・プロジェクトやチーム単位で コーディング規約を設ける😩
Slide 9
Slide 9 text
否
Slide 10
Slide 10 text
結論: エンジニアが疲弊するだけなので ツールやライブラリを使おう!
Slide 11
Slide 11 text
【フォーマッタ】 flake8, black 【静的型チェッカー】 mypy 【ツール・エディタ】 pre-commit VSCode PyCharm
Slide 12
Slide 12 text
フォーマッタ 【flake8】 ・PEP8に加え、シンタックスエラーまでチェックする ・pyflakes(論理的なエラーを検知) ・pycodestyle(規約に準拠しているか検知) ・mccabe(循環複雑度の高いコードを検知) ・設定ファイルで自由に規約を変更できる
Slide 13
Slide 13 text
フォーマッタ 【black】 ・PEP8に準拠しているかのチェック ・制限が強く自由に設定ができない → 導入が楽 ・flake8と相性が悪いので、一部設定を変える必要有
Slide 14
Slide 14 text
No content
Slide 15
Slide 15 text
静的型チェッカー 【mypy】 ・Python3.5で実装された型ヒントを静的に解析する ・実行前に型エラーを検知できる ・可読性を担保する
Slide 16
Slide 16 text
ツール 【pre-commit】 ・フックスクリプトを管理する ・GitHubで公開されているリポジトリを指定して実行できる ・任意のタイミングで処理を実行できる ・コミット前にフォーマット ・プッシュ前に型チェック
Slide 17
Slide 17 text
エディタ 【VSCode】 ・設定ファイル次第で可能性は∞👍 ・設定沼にハマらないように注意 【PyCharm】 ・Pythonを書くんだったら、間違いない ・設定しなくても、だいたいのことができる
Slide 18
Slide 18 text
【言語別対応表】 並べたものの、あまりピンとこない... 大体あってる!? おまけ Python PHP JavaScript フォーマッタ black PHPMD Prettier リンター flake8 PHPCS ESLint 型チェック mypy Phan Flow
Slide 19
Slide 19 text
ツールを上手に使って 人間に優しくなろう! 最後に