C#コーディングルール_#07_2文字の略語は大文字にする

当サイトではアフィリエイト広告を利用しています。

C#コーディングルール

前回までは「パスカル」と「キャメル」のどちらを使うかという解説をしてきました。今回は「略語」に関して解説していきます。

2文字の略語は大文字にする

「2文字の略語は大文字にする」というルールがあります。略語とは「Data base」を略して「DB」といった感じのやつです。一般的によく使う「IP」なども「Internet Protocol」の略語です。C#の命名ガイドラインでは,こういった略語について定義しています。

基本的に「単語の頭文字をとった2文字の略語は大文字にする」というルールがあります。単語の頭文字をとった略語は前述した「DB」や「IP」です。さらに2文字の時のみ両方の文字を大文字にします。ややこしいですよね。略した結果2文字になるものは2文字とも大文字。略した結果が3文字以上になるものは1文字目だけが大文字になります。ですので「Transmission Control Protocol」を略して「Tcp」の場合は「T」だけが大文字で「Tcp」となります。「SQL」は「Structured Query Language」の略ですが,C#の各クラスを見ると「Sql」になっていることが確認できます。「SqlConnection」や「SqlCommand」という.NETクラスライブラリのクラス名を見れば確認できます。「DB」や「IP」は2文字なので両方大文字です。

なぜこんなルールになっているかは分かりませんが,こういうルールになっています。

2文字の場合

Internet Protocol
→IP

No good
→NG

3文字の場合

Transmission Control Protocol
→Tcp

Structured Query Language
→Sql

例外

2文字だけど1文字目だけ大文字で,2文字目が小文字になっているパターンがあります。

それは「Id」と「Ok」です。

この2つは例外です。学生の試験問題のように例外として覚えてください。2文字目が小文字の理由は,単語の頭文字ではなく,単語の先頭2文字を採っているからです。

「Id」は「Identifier」の略で,先頭の2文字を採っています。

「Ok」も「Okey」の略で先頭の2文字を採っています。そういった理由で単語の頭文字ではないため,2文字目は小文字になっています。

基本的に例外はこの2つです。「NG」が両方大文字なのに「Ok」は2文字目小文字ってちょっと納得いかない気がしますが,そういう物として受け止めてください。

2文字の略語が大文字になっている例をC#のクラスから確かめてみましょう。「System.IO」の「IO」は両方大文字ですね。InputとOutputの略です。「System.Net.IPAddress」の「I」と「P」の部分が大文字になっていますね。

3文字の物だと次のようなものがあります。
「System.Net.Sockets.TcpClient」の場合は「Tcp」が1文字目だけ大文字になっているのが分かります。あとは前述した「SQL」関連ですね。「SqlConnection」や「SqlCommand」などを見ると,「SQL」の1文字目だけが大文字になっているのが確認できます。