• 作成:

WebMoneyのCamelCaseどうするの問題にぶちあたったので便宜的にWebmoneyという表記を使うことにしました

電子マネーWebMoney(ウェブマネー)という決済システムがあります.

今回語る内容はこれの決済システムなどには一切関係しません. 名前の話です. いわゆるiOS問題(いわゆるのか?)ですね.

これの正式名称はWebMoneyです. Web Moneyでもwebmoneyでもありません.

もちろんユーザに表示するテキストはWebMoneyと表記すれば良いのですが,

コード上には混乱をもたらしました.

HaskellやJavaScriptのコード上ではCamelCaseで名前を付けます.

よって素直にHaskellでWebMoney関連の型名をつけるならWebMoneyFooとかそんな感じになります.

さて, CamelCaseではそれで良いと決めるとHTMLやCSSでこれを取り扱う時に悩むことになります. CamelCaseで大文字によって作られていた区切りはkebab-caseではハイフンで区切られることになります.

WebMoneyFooweb-money-fooと区切られるわけですね.

しかし, これはおかしい. WebMoneyは1語であって, 区切られてはいけません.

悩んだ結果, WebMoneyFooではなくWebmoneyFooとすることにしようとしました. WebMoneyWebmoneyと記述されてしまうのは結構気持ち悪いですが, 1語の大文字を1つにするためには致し方ない.

関数のようなものがwebMoneyではなくwebmoneyとなるのも整合性が取れています.

しかし, Google Java Style Guide (非公式和訳)によると, YoutubeImporterではなくYouTubeImporterと記述すべきらしいですね.

これに従うのならば, CamelCaseはWebMoneyFooにしておいて, kebab-caseではwebmoney-fooとすることになるでしょう. Googleの言うこととはいえ, 一対一対応していないのは気持ち悪いですし, 推奨はされないんですがYoutubeImporter形式も許可されるようなので, WebmoneyFooとすることにしました.