プログラミングやITについて調べていると、「プレフィックス(Prefix)」や「サフィックス(Suffix)」という言葉を目にすることがあります。
例えば、変数名やファイル名、URL、コマンドなどの説明で「プレフィックスを付ける」「サフィックスを追加する」といった表現が使われることがあります。
- プレフィックスとは何?
- サフィックスとは何?
- プレフィックスとサフィックスは何が違うの?
- プログラミングではどのような場面で使うの?
と疑問に思うこともあるでしょう。
この記事では、プレフィックスとサフィックスの基本的な意味や違いから、プログラミングで使われる具体例まで、わかりやすく解説します。
プレフィックス(Prefix)とは?
プレフィックス(Prefix)とは、文字列などの先頭(前)に付ける文字や文字列のことです。日本語では「接頭辞」と呼ばれます。
例えば、次の文字列を見てみましょう。
user_name
user_email
user_ageこれらの文字列では、すべての文字列の先頭にuser_が付いています。
user_ + name
^^^^^
Prefixこのように、文字列の先頭に付けるものがプレフィックスです。
例えば、user_をプレフィックスとして付けることで、その名前がユーザーに関係するものであることをわかりやすくできます。
Prefixの意味
英語の「prefix」は、もともと「前に付ける」という意味を持つ言葉です。特にpreには「前」「事前」といった意味があります。
例えば、「preview(プレビュー)」や「prepaid(プリペイド)」などのpreにも「前もって」という意味があります。
サフィックス(Suffix)とは?
サフィックス(Suffix)とは、文字列などの末尾(後ろ)に付ける文字や文字列のことです。日本語では「接尾辞」と呼ばれます。
例えば、次の文字列を見てみましょう。
user_id
product_id
order_idこれらの文字列では、すべての文字列の末尾に_idが付いています。
user + _id
^^^
Suffixこのように、文字列の末尾に付けるものがサフィックスです。
例えば、_idをサフィックスとして付けることで、その名前がIDを表していることをわかりやすくできます。
Suffixの意味
英語の「suffix」は、「後ろに付けるもの」という意味で使われます。prefixのpreのように、suf単体を「後ろ」という意味で覚えるのではなく、suffix全体で「後ろに付けるもの」と覚えるとよいでしょう。
プレフィックスとサフィックスの違い

プレフィックスとサフィックスの大きな違いは、文字列の前と後ろのどちらに付けるかです。
| 項目 | プレフィックス(Prefix) | サフィックス(Suffix) |
| 付ける位置 | 先頭 | 末尾 |
| 日本語 | 接頭辞 | 接尾辞 |
| イメージ | 前に付ける | 後ろに付ける |
| 例 | user_nameのuser_ | user_idの_id |
例えば、dev_sample_backupという文字列があり、sampleを基準に考えた場合は次のようになります。
dev_ + sample + _backup
^^^^ ^^^^^^^
Prefix Suffixsampleの前に付いているdev_がプレフィックス、後ろに付いている_backupがサフィックスです。
プレフィックスは、prefixのpreに「前」という意味があることから覚えるとわかりやすいでしょう。まずは「Prefixは前、Suffixは後ろ」と覚えておけば、区別しやすくなります。
プログラミングにおけるプレフィックスとサフィックスの例
プログラミングでは、名前の先頭や末尾に特定の文字列を付けることで、その値や処理の役割をわかりやすくすることがあります。
例えば、プレフィックスの例として、次の変数名を見てみましょう。
userName
userEmail
userAgeこの例では、すべての変数名がuserから始まっています。
userをプレフィックスとして使用することで、「ユーザーに関係する値」であることを名前から判断しやすくなります。
一方、サフィックスの例として、次のクラス名を見てみましょう。
UserController
ProductController
OrderControllerこの例では、すべてのクラス名の末尾にControllerが付いています。
Controllerをサフィックスとして使用することで、そのクラスがControllerの役割を持つことを名前から判断しやすくなります。
このように、名前の先頭にプレフィックス、末尾にサフィックスを付けることで、名前からその値や処理の役割を判断しやすくなります。
実際の命名方法やプレフィックスを付けるかどうかは、プログラミング言語やプロジェクトの命名規則によって異なります。
ファイル名におけるプレフィックスとサフィックスの例
プレフィックスとサフィックスは、ファイル名を整理するときにも使用できます。
例えば、バックアップファイルにbackup_というプレフィックスを付ける場合は、次のようになります。
backup_config.json
backup_users.json
backup_settings.json一方、ファイル名の末尾に_backupというサフィックスを付ける場合は、次のようになります。
config_backup.json
users_backup.json
settings_backup.jsonどちらもバックアップファイルであることを表せますが、付ける位置が異なります。
config_backup.jsonのようなファイル名では、どの部分を基準に考えるかによって、サフィックスとして扱う部分が変わる場合があります。
例えば、configを基準に考える場合は_backupをサフィックスとして扱えます。また、ファイル名全体を文字列として見れば、一般的には拡張子と呼ばれる.jsonも、末尾に付いている部分という意味ではサフィックスと考えることができます。
URLにおけるプレフィックスの例
URLやWeb APIでも、プレフィックスという言葉が使われることがあります。
例えば、Web APIのURLが次のようになっているとします。
/api/users
/api/products
/api/ordersこの場合、すべてのURLの先頭に共通して付いている/apiを「URLのプレフィックス」や「パスのプレフィックス」と呼ぶことがあります。
さらに、APIのバージョンを含めて次のようにすることもあります。
/api/v1/users
/api/v1/products
/api/v1/ordersこの場合、/api/v1を共通のプレフィックスとして扱うことができます。
このようにプレフィックスを使用すると、複数のURLを共通のルールでまとめることができます。
よく見るプレフィックスとサフィックス
プログラミングやシステム開発では、変数名やファイル名などにさまざまなプレフィックスやサフィックスが使われます。
例えば、次のようなものがあります。
| 種類 | 例 | 使用例 | 意味・用途の例 |
| プレフィックス | is_ | is_active | 状態を表す真偽値などに使われる |
| プレフィックス | has_ | has_permission | 何かを持っているかどうかを表す真偽値などに使われる |
| プレフィックス | btn_ | btn_submit | ボタンに関係する名前などに使われる |
| プレフィックス | dev_ | dev_database | 開発環境に関係する名前などに使われる |
| プレフィックス | prod_ | prod_database | 本番環境に関係する名前などに使われる |
| サフィックス | _id | user_id | IDや識別子を表す名前などに使われる |
| サフィックス | _list | user_list | 複数のデータをまとめたものなどに使われる |
| サフィックス | _bak | config_bak | バックアップを表すファイル名などに使われる |
このように、プレフィックスやサフィックスを付けることで、名前を見るだけで「何を表しているのか」「どのような用途なのか」を判断しやすくなります。また、共通する文字列で検索したり、名前順に並べたときに関連するものをまとめたりしやすくなる場合もあります。
これらはすべてのプログラムで共通する決まりではありません。使用するプログラミング言語やフレームワーク、プロジェクトの命名規則によって使い方は異なります。
本記事のまとめ
この記事では「プレフィックス(Prefix)とサフィックス(Suffix)」について、以下の内容を説明しました。
- プレフィックス(Prefix)は、文字列などの先頭に付ける文字や文字列
- サフィックス(Suffix)は、文字列などの末尾に付ける文字や文字列
is_や_idなど、用途を表すプレフィックスやサフィックスが使われることがある- ファイル名やURLなどでもプレフィックスやサフィックスという言葉が使われる
- 「Prefix = 前」「Suffix = 後ろ」と覚えると区別しやすい
プレフィックスとサフィックスは、プログラミングだけでなく、ファイル名やURLなどさまざまな場面で使われる言葉です。
基本的な意味はシンプルなので、「前に付けるのがプレフィックス、後ろに付けるのがサフィックス」と覚えておきましょう。
お読みいただきありがとうございました。