TL;DR
- プログラムのネーミングで迷ったら GitHub でキーワードを検索して、ヒットした件数が参考になるのでは?
- 複数キーワードを検索して結果の一覧を表示する CLI 作りました
ネーミング迷いますよね?
みなさん、コードを書いていて変数やメソッド名のネーミングって迷いますね。
こんな時に自分たちはチームを横断して「こういう名前考えたんだけど、これってどうかな?」という確認を Slack 上で行っています。先日、この Slack チャンネルを見ていて考えました。
「**GitHub で検索すれば世の中のコードでどのぐらい使われているかざっくり分かるので参考になるのでは?**説」
GitHub で検索できるという条件付きではありますが、コードの規模からするとある程度期待できそうです。
GitHub で検索
例えば「除外条件」を表す変数名として exclude_condition
と exclusion_condition
を比較します。
まず、おもむろに
https://github.com/
を開き、検索ボックスにキーワードを入力します。
出てきた検索結果はこちらの274件。
対して exclusion_condition
は66件という事で、exclude_condition
に軍配が上がる結果となりました。
このぐらいの差であれば意見の分かれるところかもしれません。
また、「GitHub 全体ではなく、実装先のリポジトリでどれぐらい使われているか知りたい!」という場合はそのリポジトリのページに移動して検索。
もしくは検索キーワードに repo:リポジトリ名
を追加します。
前提として、チームやプロダクトによって、こういう概念を表すにはコレ!という命名をすでにしていば混乱しないためにそちらを優先する方がよいと思います。
新たな名前を取り入れる場合には「GitHub でこのぐらいヒットした」というのは一つの指標になるのではないでしょうか。
ブラウザでアクセスが面倒
ブラウザから複数キーワードを検索するのに、別タブを開いたり、結果一覧を確認するのが面倒なので CLI を作りました。
次のように実行します。
$ ghkw exclusion_condition exclude_condition excluded_condition
| RANK | KEYWORD | TOTAL |
|------|---------------------|-------|
| 1 | exclude_condition | 272 |
| 2 | exclusion_condition | 64 |
| 3 | excluded_condition | 2 |
GitHub に samurai という名前が付くリポジトリ、900個もあるのね。non-japanese people は samurai 好き過ぎるな。
— コーテルイーナーホー (@mattn_jp) 2018年1月25日
なるほど。
% ghkw ninja samurai bushi sensei senpai kohai
| RANK | KEYWORD | TOTAL |
|------|---------|-----------|
| 1 | ninja | 3,374,938 |
| 2 | samurai | 730,748 |
| 3 | sensei | 213,917 |
| 4 | senpai | 26,786 |
| 5 | bushi | 25,493 |
| 6 | kohai | 2,195 |
結果は Markdown 形式なので、pbcopy
経由でエディタ等に貼り付ける事が出来ます。
ちなみにインストールは homebrew ユーザだと次の2ステップでOK。
$ brew tap kyoshidajp/ghkw
$ brew install ghkw
Go 環境を設定していれば go get
でもOK。
$ go get -u github.com/kyoshidajp/ghkw
もしくはリリースページから最新をダウンロードして、パスが通った場所に配置します。
GitHub API を使っていて、プライベートリポジトリも検索するため、初回起動時にログインが必要です。もしくは環境変数 GITHUB_TOKEN
にリポジトリのアクセス権をもったトークンを指定するとそちらを優先します。