Objective-C
Android
.NET
Cocoa
Swift

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

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

キャメルケース

プラットフォームのコーディングガイドラインによって決められているものがあるのでまとめました。
他にあれば追記しますのでコメントください。(決まっていないものもまとまっていると、探す手間が省けるかもしれません。)

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

Cocoa (Objective-C, Swiftも?)

  • well-knownなacronymについては全部大文字とある
    • ガイドラインには「先頭では、、、」と書いてあるけど、先頭でなくても大文字になっている
    • URLWithString:relativeToURL:

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

Java(Google Java Style Guide)

Google社内のJavaスタイルガイドでは非常に丁寧に変換手順が書いてあります。

  • 他の単語と同じように扱う=先頭の単語は小文字または大文字、以降の単語の先頭は大文字
XmlHttpRequest XMLHTTPRequest
newCustomerId newCustomerID
supportsIpv6OnIos supportsIPv6OnIOS

https://google.github.io/styleguide/javaguide.html#s5.3-camel-case
https://kazurof.github.io/GoogleJavaStyle-ja/#s5-3-camel-case

Java(Android)

  • 他の単語と同じように扱う=先頭の単語は小文字または大文字、以降の単語の先頭は大文字
    • 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文字までは全大文字(例 ID, DB)
  • 3文字以上は先頭のみ大文字(例 Xml, Http)

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