Slide 1

Slide 1 text

命名をリントする 2024/12/15 Kyoto.go #56

Slide 2

Slide 2 text

自己紹介  ちひろ  株式会社モリサワ  X: @chiroruxxxx

Slide 3

Slide 3 text

1年をカンファレンスに 例えるなら

Slide 4

Slide 4 text

年末のLTは

Slide 5

Slide 5 text

懇親会LTのような ものですよね!?!?

Slide 6

Slide 6 text

ということで  明日からすぐに役に立たない!  身にならない話をします!

Slide 7

Slide 7 text

本題

Slide 8

Slide 8 text

命名をリントする 2024/12/15 Kyoto.go #56

Slide 9

Slide 9 text

良い命名とは  観点は色々とある  時間をかけ、一生懸命考えた命名は良い命名かもしれない  人生の中で、一番命名を気にしているタイミングがどこだろ う

Slide 10

Slide 10 text

良い命名とは 子どもの名付け

Slide 11

Slide 11 text

子どもの 名付け  子どもの名づけも、色々な観点がある  言葉の意味  子どもがどうなってほしいか  よびやすさ・語感  周りから浮かないか  画数

Slide 12

Slide 12 text

画数占い 赤ちゃん命名ガイド

Slide 13

Slide 13 text

つまり

Slide 14

Slide 14 text

良い命名とは 良い画数の命名 かもしれない?

Slide 15

Slide 15 text

命名と画数  画数の良い命名を変数にすれば  その変数が起因のバグが起こらない  かもしれない?

Slide 16

Slide 16 text

われわれは 画数をチェックする 必要がある! ということでつくりました

Slide 17

Slide 17 text

作ったよ  https://github.com/chiroruxx/lucky-lint-go  go vet で動くよ  以下の命名に対応  変数・定数の宣言・代入  型  フィールド名  関数名  パッケージのエイリアス名

Slide 18

Slide 18 text

ドメイン部分  「ローマ字の姓名判断・商品名画数」を参考に  https://meimeimaker.com/articles/strokes-alphabet.php

Slide 19

Slide 19 text

ドメイン部分  「ローマ字の姓名判断・商品名画数」を参考に  https://meimeimaker.com/articles/strokes-alphabet.php

Slide 20

Slide 20 text

こんなかんじ

Slide 21

Slide 21 text

まとめ  良い画数の名前を選ぼう!  CIでリンターをまわしてチェックすれば安全だね!

Slide 22

Slide 22 text

その他細かい話 時間があれば

Slide 23

Slide 23 text

予約語  予約語の命名は開発者がどうにもできないので除外  変数名の _ (アンダーバー)  関数名の  main  init  ドットインポート

Slide 24

Slide 24 text

慣用的な名前  変数名の ok, err  メソッドのレシーバ名  1文字にすることが多いが、1文字はたいてい良い画数ではない

Slide 25

Slide 25 text

見るべき ノード  asciicheck では、ast.Ident のみを対象としている  ast.Ident を対象とすると、自分の定義していない命名も 見てしまう  例えば Printf は ast.Ident だが、開発者が定義してない  細かく見ていく必要がある