LoginSignup
108
72

More than 3 years have passed since last update.

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

Last updated at Posted at 2014-11-18

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

キャメルケース

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

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

Cocoa (Objective-C)

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

Coding Guidelines for Cocoa

well-known acronymは例はこちら

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)

Swift

Acronyms and initialisms that commonly appear as all upper case in
American English should be uniformly up- or down-cased according to
case conventions:

var utf8Bytes: [UTF8.CodeUnit]>> var isRepresentableAsASCII = true
var userSMTPServer: SecureSMTPServer

Other acronyms should be treated as ordinary words:

var radarDetector: RadarScanner
var enjoysScubaDiving = true

  • すべて大文字またはすべて小文字にする。
  • CamelCase/camelCaseのルールに従う。
  • ガイドラインの例がわかりやすい。

Kotlin

When using an acronym as part of a declaration name, capitalize
it if it consists of two letters (IOStream); capitalize only the
first letter if it is longer (XmlFormatter, HttpInputStream).

基本的にはJavaに従うようですが、
acronymに関しては.NETのように2文字とそれ以上で分ける派のようですね。

Rust

https://sinkuu.github.io/api-guidelines/naming.html
https://github.com/rust-lang/rfcs/blob/master/text/0430-finalizing-naming-conventions.md

In UpperCamelCase, acronyms count as one word: use Uuid rather than
UUID. In snake_case, acronyms are lower-cased: is_xid_start.

他の単語と同じように扱えとのこと。Javaと同じですね。

108
72
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
108
72