結論から言うと、再利用しやすい関数名は「何をするか」と「何に対して行うか」が短く伝わる名前です。
Pythonでは関数を分けられるようになってくると、次に迷いやすいのが名前の付け方です。
動くコードは書けても、process_data() や do_task() のような広すぎる名前が増えると、あとから読み返したときに役割が見えにくくなります。
この記事では、再利用しやすい関数名を付ける考え方を、動くコードと一緒に整理します。
この記事でわかること
完成コード
完成コードは次の通りです。
def normalize_customer_name(name):
return name.strip().title()
def calculate_order_total(items):
return sum(item["price"] * item["quantity"] for item in items)
def build_order_summary(customer_name, total):
return f"{customer_name}さんの注文合計は {total} 円です。"
sample_items = [
{"name": "SSD", "price": 9800, "quantity": 1},
{"name": "USBハブ", "price": 2400, "quantity": 2},
]
customer_name = normalize_customer_name(" tanaka ")
order_total = calculate_order_total(sample_items)
print(build_order_summary(customer_name, order_total))コードのポイント
このコードでは、関数名だけで役割がある程度想像できるようにそろえています。
normalize_customer_name()は名前を整形する関数だとわかりますcalculate_order_total()は注文合計を計算する関数だと伝わりますbuild_order_summary()は表示用の文章を組み立てる関数だと読み取れます
このように、動詞と対象をセットで表すと、あとで別の場所から見ても役割を理解しやすくなります。
コードを順番に説明します
主要な処理を分けて説明します。
1. 先頭の動詞で「何をするか」を明確にします
def normalize_customer_name(name):
return name.strip().title()この関数では、顧客名の前後の空白を取り除き、表示用に整えています。normalize という動詞を使うことで、「値を標準的な形にそろえる処理」だと伝わります。
もし handle_name() や process_name() のような名前にすると、何をしているのかが広すぎて読み手に伝わりません。
まずは、整形する、計算する、作成する、といった具体的な動詞を先頭に置くと整理しやすいです。
2. 対象を入れて「何に対する処理か」を見えるようにします
def calculate_order_total(items):
return sum(item["price"] * item["quantity"] for item in items)calculate だけでは、何を計算する関数なのかがわかりません。
そこで order_total まで含めると、注文合計を求める関数だと一目で伝わります。
実務では、同じプロジェクト内に calculate_tax() や calculate_shipping_fee() のような似た関数が増えていきます。
対象まで入った名前にしておくと、並んだときにも見分けやすくなります。
3. 役割ごとに使う動詞をそろえると全体が読みやすくなります
def build_order_summary(customer_name, total):
return f"{customer_name}さんの注文合計は {total} 円です。"この関数は、計算そのものではなく、表示用の文章を組み立てています。
そのため calculate ではなく build を使っています。
同じプロジェクト内で、計算は calculate、整形は normalize、表示文作成は build のようにそろえておくと、関数名を見ただけで処理の種類が伝わりやすいです。
命名規則がそろうと、再利用するときにも目的に合う関数を探しやすくなります。
実務で使うときのポイント
実務では、関数名は自分のためだけでなく、あとから読む人のための案内にもなります。
getbuildcalculatevalidateloadのように、役割ごとの動詞をある程度そろえると読みやすいですdatainfotaskのような広すぎる単語だけで終わらせると、何を扱う関数なのか見えにくくなります- 1つの関数名に処理を詰め込みすぎるなら、名前を長くするより関数自体を分けたほうが整理しやすいです
- 呼び出し側で自然に読めるかを確認すると、わかりにくい命名に気づきやすいです
特にチーム開発では、関数名の付け方がそろっているだけでレビューしやすくなります。
再利用しやすい名前とは、短い名前ではなく、目的がぶれない名前だと考えると判断しやすいです。