Skip to content

正しいプログラムは綺麗なコードに宿る

公開日:

札幌市中央区TAKETOビル会議室(コワーキングスペース エレオ)で開催された『札幌)もくもく会×ライトニングトーク会』でライトニングトーク(5分)として発表しました。

Download PDF

スライドテキスト

Page 1

正しいプログラムは

綺麗なコードに宿る

A good program resides in clean code.

pixiv Inc.

USAMI Kenta

北海道LT大会2022-04-15

Page 2

お前誰よ

  • うさみけんた (@tadsan) / Zonu.EXE / にゃんだーすわん
  • ピクシブ株式会社 pixiv事業本部 エンジニア
  • 最近はピクシブ百科事典(dic.pixiv.net)を開発しています
  • Emacs Lisper, PHPer
  • Emacs PHP Modeを開発しています (2017年-)
  • プログラミング言語にちょっとこだわりのある素人

Page 3

お前誰よ (地元向け)

  • 砂川(1990-2007) → 宮の沢(2007-2011) → 代々木(2012-)
  • 北海道工業大学 (えっ、北科大なにそれ知らん)
  • 2011年頃にPython札幌勉強会とかのコミュニティをやっていました
  • PHPカンファレンス北海道があれば帰省する生活 (2016, 2019)
  • 札幌Ruby会議2012スタッフ、札幌市中央区Ruby会議LT

Page 4

ふだんはEmacsとかPHPとかやってます

Page 5

さて

Page 6

綺麗なコード書いてますか?

Page 7

コードの乱れは心の乱れ

Page 8

正しいプログラムは綺麗なコードに宿る

Page 9

綺麗なコードがモダーンなコード

Page 10

美しいコードを書くのは靴を脱いで揃えるのと同じ

Page 11

きたないコードは争いを生む

Page 12

さあ美しいコードを書きましょう…

Page 13

そう思いませんか?

Page 14

どうやってコードをインデントする?

https://www.emacswiki.org/pics/static/TabsSpacesBoth.png より

Page 15

均整でないソースコードの弊害

  • チーム内での認知的な摩擦
  • 同じリポジトリ内でも「ナワバリ」によってフォーマットの慣習が違う(!)
  • コードレビューで「ここにスペースを入れてください」「ここで改行してくださ

い」などの不毛すぎる指摘をする羽目に…

  • 「レビュー対応」というコードスタイルを直すだけの最悪のコミットが履歴に積

まれる (そういう些細な変更はfixupで直して…という意見はある)

Page 16

誰がコードを書いても同じスタイルにしたい

Page 17

Code Formatterコードスタイルを整形するツールの総称

Page 18

フォーマッター導入待ったなし

Page 19

Page 20

Page 21

退屈なことは機械にやらせよう

  • ツールを呼び出すとフォーマッタが全てのコードを整形してくれる
  • 人間が細かいところに気をつけながらコーディングしなくていい
  • 最悪、人間がコードフォーマットをまったく把握してなくてもいい
  • コミットする前にフォーマッターをかけてくれることだけ徹底してくれれば

Page 22

それでだ

Page 23

モダーンな言語の定義

Page 24

言語標準のフォーマッターがある

Page 25

go fmt dart format rustfmt

Page 26

われらが最新最高言語PHPはどうだ

Page 27

Page 28

ただ普及してるフォーマッターはある

Page 29

PHP-CS-Fixer PHP_CodeSiffer

Page 30

_人人人人人人_> 二つある <‾Y^Y^Y^Y^Y‾

Page 31

語ると長いが…設計思想の違いがある

Page 32

まじめなプロジェクトではどちらかを選んで使う

Page 33

で、あんたはどっち派?

Page 34

どうやってコードをインデントする?

CS-Fixer CodeSniffer

両方

もちつけ

tadsan

https://www.emacswiki.org/pics/static/TabsSpacesBoth.png より

Page 35

PHPについてはそのうちどこかで

Page 36

Page 37

続きはWebで