誤解を生ませないようにするために
名前を付けた時、名前が「他の意味と間違えられることはないだろうか」と何度も自問自答する
→初めてコードを見る人に誤解を生まなせないようにするため
例1)
データベースの問い合わせ結果を処理する、以下のコードがあるとする
results = Database.all_objects.filter("year <= 2011)
filter
メソッドによってyear
が2011以下のオブジェクトを取り出す処理に見えそうだが、
a. year
が2011以下のオブジェクト
なのか
b. year
が2011以下ではないオブジェクト
なのかが明確でない
そのため、
- a. であれば、「
year
が2011以下のオブジェクトを選択する」という意味で、
filter
→select
に - b. であれば、「
year
が2011以下のオブジェクトを除外する」という意味で、
filter
→exclude
に
変更する
例2)
text
に書かれている最後の内容を切り落として「...」をつける関数があったとする
def Clip(text, length):
...
- Clipメソッドの動作が、「最大length文字まで切り取る」場合、
「(新聞・雑誌などから)切り抜く」「(画像を)切り抜く[取る]」という意味を持つ
Clip
という単語ではなく、
「文・説明などを切りつめる(切り取って短くする)」という意味の
Truncate
を用いた方が読み手に疑問を持ちづらくなる - 「最大length文字まで切り取る」という動作のため、
length
を「最大length文字」というmax_length
という変数名に直した方がいい
しかし、length
といっても、バイト数なのか、文字数なのか、単語数なのかといった、
様々な解釈ができる
今回の場合は文字数を表しているので、
max_length
→max_chars
に変更する
参考資料
clip(英語)の日本語訳、読み方は - コトバンク 英和辞典
https://kotobank.jp/ejword/clip
truncate(英語)の日本語訳、読み方は - コトバンク 英和辞典
https://kotobank.jp/ejword/truncate
切詰める(キリツメル)とは? 意味や使い方 - コトバンク
https://kotobank.jp/word/%E5%88%87%E8%A9%B0%E3%82%81%E3%82%8B-480332