Objective-C
Android
.NET
Cocoa
Swift

キャメルケースで省略語をどう扱うか

More than 1 year has passed since last update.

キャメルケース(camelcase)において、IDやURL、HTTPといった略語はどのように扱うべきでしょうか。

参考 Wikipedia: キャメルケース

プラットフォームのコーディングガイドラインによって決められているものがあるのでまとめました。
なお、URLやHTTPは頭字語(acronym)と言うそうです。ID(Identifier)は略語であって頭字語ではありません。それぞれで扱いが異なる場合があります。

個人的にはどのスタイルでも一貫性があればよいと思うのですが、マルチプラットフォームなAPIを考えるときにどうするか迷いますよね。

他にあれば追記しますのでコメントいただけると助かります。
(決まっていないものもまとまっていると、探す手間が省けるかもしれません。)

Cocoa (Objective-C, Swiftも?)

  • well-knownなacronymについては全部大文字とあります。
    • ガイドラインには「先頭では、、、」と書いてあるけど、AppleのAPIでは先頭でなくても大文字になっているようです。
    • 例)URLWithString:relativeToURL:
  • AppleのAPIでは、Idは基本は略さずidentifierを使用しているようです(単独のidが予約語というのもあります。)。ただし、別サービスのAPIに関連しているところなどは、そちらに従っている模様。
    • 例)productIdentifier
    • 例)ACFacebookAppIdKey

Coding Guidelines for Cocoa
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingBasics.html

well-known acronymの例はこちら
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/APIAbbreviations.html

Android (Java)

  • 他の単語と同じように扱う=先頭は小文字、以降の単語の先頭は大文字
    • 例)class XmlHttpRequest
    • 例)getCustomerId
  • すでにJDKとAndroidのコードで一貫性は無いけど、我慢して従ってほしいとのこと

http://www.textdrop.net/android/code-style-ja.html#acronyms
http://source.android.com/source/code-style.html#treat-acronyms-as-words

.NET

  • 2文字までの頭字語は全大文字(例 DB)
  • 3文字以上の頭字語は先頭のみ大文字(例 Xml, Http)
  • Idは省略語なので、その他のルールに従いId

http://msdn.microsoft.com/ja-jp/library/ms229043.aspx