よく気になるのでPythonの関数やら変数の命名ルールや単語をまとめておく。
キャメルケースうんぬんとは別。
たくさん書かれているすごい記事を参考にして、自分なりに作っている。
使用するライブラリによってルールが異なる。
中心となるライブラリのルールに従うのが一番いいと思う。
命名ルールをAIに教えておくと読むときに理解しやすい。
随時更新する。
基本ルール
| 項目 | ルール | 理由 |
|---|---|---|
| クラス名 | 単数系の名詞 | "オブジェクト"だから |
| 関数・メソッド名 | 先頭は動詞。プライベートメソッドの先頭は"_"をつける。 | オブジェクトの動作がメソッドだから |
| 変数名 | 名詞。リストやタプルなどの複数のオブジェクトを扱うものは複数形。ネストの中だけで参照するものは先頭に_をつける。_strや_dfなどの型がわかるような装飾はつけない。 |
オブジェクトが格納されているから。装飾はPythonは動的型付け言語なので勘違いの原因になる。 |
原則使わない単語
| 単語 | 理由 | 代替え | 例外 |
|---|---|---|---|
| get | 使用できる範囲が広すぎて何をしているのか不明 | 何をどう取得するかで単語を分 | getterの場合 |
| set | setterと勘違いする | configure, define, | setterの場合 |
| check | 何を確かめるのかわからない | is_OO, has_OO |
よく使う単語
「作る」系
| 単語 | 使う場面 |
|---|---|
| make | 材料があるところから作る |
| create | 何もないところから作る(新規作成) |
「取得する」系
getはNG
| 単語 | 使う場面 |
|---|---|
| read | そのまま読み込むだけ |
| load | 読み込み+使えるようにする |
| fetch | ネットワーク経由で取得して、オブジェクトとして保持する |
| download | ネットワーク経由で取得して、ローカルに保存する(オブジェクトとして保持しない) |
「設定する」系
setはNG。
| 単語 | 使う場面 |
|---|---|
| configure | 設定を適用する |
| define | パラメータやルールを定義する |
「出力する」系
| 単語 | 使う場面 |
|---|---|
| output | そのままローカルに出力する |
| export | 変換後にローカルに出力する |
| push | インターネット経由で出力する |
「確かめる」系
checkはNG。
ture/falseを返す関数に使用する
| 単語 | 使う場面 |
|---|---|
| is_OO | 〜であるか |
| is_uppercase | 大文字であるか |
「計算する」系
何を計算するかで単語を分ける
| 単語 | 使う場面 |
|---|---|
| calcurate_OO | 簡単な数式計算 |
| evaluate_OO | 評価指標を計算する |
対で使う
始める/終える
基本どっちでもOK
- begin/end
- start/stop
先頭/末尾
列に並んでいるイメージのものに使う
- first/last