Converter 関数の命名規則

命名規則

ある値を別の値に変換するための関数の命名規則を紹介します。 変換前後で型が異なることが多いですが、型が変わらない場合もあります。

to ~

値の変換を行う Converter 関数の関数名には以下の様に to- を利用する事が多いです。

to-(変換後の型、状態)

C# や Java のクラスの様に、メンバーメソッドとして関数を定義できる場合には以下の様に to で始まるメソッド名を付ける事が多いです。

(ソースとなる変数).to-(変換後の型、状態)

関数をオーバーロードできる場合には、変換後の型が同じものであれば以下の様に to で始まる関数を作成する場合があります。

to-(変換後の型、状態)

C 言語の様に関数のオーバーロードができない言語の場合は『変換前の型、状態』を明記する事が多いです。

(変換前の型、状態)-to-(変換後の型、状態)

慣習的に to2 と記述する場合があります。

as ~

あるデータを読み込んだり変換する際に、特定の型や表現で読み出したい場合には以下の様に as を付けて入力の状態を指定します。

int read_int_as_bcd(char *str, int len);

-fy, -ify

『~にする』、『~化する』という意味の接尾辞 -fy, -ify を使う場合があります。 名詞や形容詞につけることで、○○ にするという動詞を作ることが出来ます。

JSON.stringify({ name: '太郎' });

具体的な例

名前動作備考
stringify文字列にするオブジェクトデータを JSON 等の文字列に変換する時などに使われている。
uglify難読化するソースコードを読みにくくする。(JavaScript はソースコードがユーザーから見れる状態になるのでこういったツールを使ってユーザーからは読みにくくする。)
minify小さくするソースコード (主にファイルサイズ) を小さくする。
beautify美しくするソースコードを綺麗なレイアウトに整形してくれるプラグイン

変換を表す動詞を使う

文字列データを何がしかのオブジェクトデータに変換する場合は parse を使います

JSON.parse('{ "name": "太郎" }');

C# の WPF の IValueConverter インターフェイス では、変換と逆変換用の関数を ConvertConvertBack という名前になっています

[ValueConversion(typeof(DayOfWeek), typeof(string))]
public class DayOfWeekConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        // DayOfWeek => string の変換を行う
        ...
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        // string => DayOfWeek の変換を行う
        ...
    }
}

引数にとったポインターに結果を戻す関数の場合

C# の int.TryParse の様に、変換の結果を引数でもらったポインターに返し、変換がそもそも成功したのかどうかを戻り値で返すような関数では、変換が失敗しうる可能性があることを関数名で明記する場合があります。

int number;

bool success = int.TryParse("100", out number);

参考資料