子供が産まれました。で、子供が産まれると当然名前を付けないといけないわけですが、これがまた決め手が無くて悩む。
子供の名前をつける際に悩むというのは、プログラミングにおいて変数名やクラス名にどのように名前をつけるかということと同じ問題である(?)。そもそも子供とは親というクラスのインスタンスでもあり、オブジェクト指向的なものである。そこで、変数名やクラス名の命名規則に基づく子供の命名について考えた。例として徳川家光さんの長男の徳川家綱君の名前を例示する。
https://www.flickr.com/photos/laundry/6644083433/in/photostream/
記法
プログラムや変数の命名においては、ハンガリアン記法やらキャメル記法やらスネーク記法やらがある。
ハンガリアン記法 bTokugawaIetsuna 変数名の頭に式別子を付与する
キャメル記法 $TokugawaIetsuna 文字の区切りで大文字にする
スネーク記法 $Tokugawa_Ietsuna 文字の区切りに_アンダースコアを入れる
これを応用すると以下の通りとなる。見ての通り今イチなので採用しない。
ハンガリアン記法 子徳川家綱 変数名の頭に式別子を付与する
キャメル記法 徳川家綱 文字の区切りで大文字にする
スネーク記法 徳川_家綱 文字の区切りに_アンダースコアを入れる
スポンサード リンク
長い名前はつけない
名前は長くても20文字程度に収まるように設計する。無駄に長い名前は可読性が落ち、入力が面倒で打ち間違いの元になる。言語によっては変数名の長さに制約がある。
長い名前をつけると以下の様になる。なるほど。
短く済むならわざわざ省略しない
短ければ良いというものでもなく、適切な長さで意味の通じるものにする。また他の要素と混同するような省略の仕方は避ける。
徳川綱(とくがわ つな)君。子供の名付けにおいてはこれはこれで問題無い。名字がそもそも大局的な式別子となっているため、名前については自由に設定するという発想。
慣例としてあるものはその例に従う。
名前の文字について、親クラスから1文字継承(インヘリタンス)するパターン。親クラスの家光から、”家”を継承して綱をユニークに付与する。子供の名前においては、名字は自動的に継承されるので多重継承っぽい。また、父・母からそれぞれ1字づつ継承するという手法もある。
ループカウンターを使う
ループカウンターはi,j,k…とiから使用する。徳川家綱は家光の長男であるから、ループカウンター的に名付けをするのであれば、”一郎”と1から使用するのが妥当である。次男が産まれた場合も”二郎”とするだけであるので簡単である。また、0から使用したい場合においては徳川零郎となる。
規則に従ってない例 徳川八郎
規則に従った例 徳川一郎
適切なコメントを付ける
名は体を表すということで、変数名等については意味を持たせることが重要である。家綱君には「綱の様に家を繋いで欲しい」といった様な意味付けであろうか。なお、家光の長男4代将軍家綱には子供がいない。
変数や関数に使われる必要最低限な単語を覚える
独自の漢字の読みや常用外の漢字を使用しない。第三者が見た際に読めないだけでなく、役所などにおいてシステムに登録する際に外字を使用する必要があったり大変迷惑である。
グローバル変数であるということを意識する
子供の名前はグローバル変数である。余所の子供と値が衝突するべき事態は避けるべきである。例えば2014年の男の子の名前ランキング1位は”蓮(れん)”である。”徳川蓮”君と名付けた場合、学校等で「れんくーん!」と呼ばれると、複数人が振り向く事になる。極力名前は一意になるように名付けた方が良い。
2014年名前ランキング
まとめ
以上である。結論からいうと子供の名付けにはあまり応用できない。しかし、”親の文字の継承””ループカウンターを使用””紛らわしい名前はつけない”など一般論については子供の名前をつける際に「気をつけた方がいい事項」としては充分機能するのではないのであろうか。
この記事は以下の記事を参考に書いています。
その他おすすめ記事