スネークケースとキャメルケースはどっちでもいいじゃない

f:id:recrox:20180701005833j

ド定番な話、個人的には基本キャメルケース推し。
レクロルです。

命名規則とかの定番な話題としてよく挙がる
「キャメルケース」と「スネークケース」どちらが優れてるのか、みたいな話。
個人的にはローワーキャメルケースが好きです。


それで何となく自分が書く時の基準を考えてみたら、
↓のような感じでした。

Oracle

スネークケース。
前提としてテーブル名等がすべて大文字が基本で小文字を全く使っていません。
てか、大文字小文字を混在して書かないとなるとそもそもキャメルケースにしようが無いですし当然か。

CREATE TABLE STAFF
(
    STAFF_ID    CHAR(3) ,
    STAFF_NAME  VARCHAR2(100),
    SALARY      NUMBER(7,0)
)
Select *
From   Staff

たまにこんな感じのSQLを見ますが、
テーブルの定義と実際のSQL構文が合ってないと気持ち悪くないですかね?
上の例では超単純だからまだわかるけど、
複雑なSQLでこれがあると可読性が下がる気がします。

それ以外

ローワーキャメルケース。
以下はC#上での例ですが

◆コントロールとか(C#)

//ボタン
btnTest
//フォーム
frmTest
//テキストボックス
txtTest
//コンボ
cmbTest

◆変数とか(C#)

//int
intTest   int;
//string
strTest   string;
//bool
boolTest  bool;

上みたいな感じで、
ソース読んでそれが何なのか分かるように名前の頭にそれを表す略語を付けて書いています。
これはよくある書き方なんじゃないかと。

結局どっちでもいい(※)

結局、スネークケースとキャメルケース、
どっちもどっちで優劣なんてないんじゃないかと言うのが個人的な意見です。

暴論気味ですが、
それぞれ利点があるのか知れないけど慣れていない以上、
「読みづらいことには変わりはない」
だから、好きな方を使って書いたらいいと思います。

(※)付けたのは複数人のプロジェクトとかで開発してる場合です。
まぁ、大抵コーディングルールとかあると思いますが、
そこらへんは徹底しとかないとグッチャグチャになります。
こういう表現の差は微々たるものかも知れないですが、ボディブローみたいに効いてきますし。
逆に徹底されていればコレもどっちでもいいです。
大事!統一感。

ただ、どっちでもと言っておきつつ、
btn_Testみたいなスネークキャメル?キャメルスネーク?(呼び方はよく知りませんが)
こういう書き方は中途半端感が凄いんで好きじゃないです。
(※個人的な考えです)

おわりに

プログラムコードの可読性は十人十色で難しい話かも知れないですが、
考えるのは中々に楽しいですね。
まぁ、考えはするけどキレイなコード書けているかというと自信は全然無いんですけどね(笑)
ココらへんの問題は自己整理のためにもまた書きたいです。

今日はこの辺で。