質問編集履歴
12
タイトル修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
命名規約について
|
body
CHANGED
File without changes
|
11
編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -47,5 +47,7 @@
|
|
47
47
|
|
48
48
|
追記:多くの様々な回答ありがとうございました。
|
49
49
|
・言語によってメジャーな命名規則が違う。
|
50
|
-
・ある集団内での独特な命名規則は、多くのコストを生む
|
50
|
+
・ある集団内での独特な命名規則は、多くのコストを生む。
|
51
|
+
・変数/関数名を頼りにした書き方であると、その集団内での仕様を確認しなけらばならずコストである。
|
51
|
-
・変数をパスカルケースで書くとクラスメソッドとの違いを見分けられない
|
52
|
+
・変数をパスカルケースで書くとクラスメソッドとの違いを見分けられない
|
53
|
+
・後ほどQiitaにまとめておきます。
|
10
追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -42,4 +42,10 @@
|
|
42
42
|
|
43
43
|
**質問**
|
44
44
|
自分としては、変数とクラスは同じくパスカルケースで書いたほうが、
|
45
|
-
関数と変数の見分けがすぐに付くので可読性が上がると思うのですが、なぜ変数をキャメルケースで書く場合が多いのでしょうか?
|
45
|
+
関数と変数の見分けがすぐに付くので可読性が上がると思うのですが、なぜ変数をキャメルケースで書く場合が多いのでしょうか?
|
46
|
+
|
47
|
+
|
48
|
+
追記:多くの様々な回答ありがとうございました。
|
49
|
+
・言語によってメジャーな命名規則が違う。
|
50
|
+
・ある集団内での独特な命名規則は、多くのコストを生む
|
51
|
+
・変数をパスカルケースで書くとクラスメソッドとの違いを見分けられない
|
9
誤字修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -29,7 +29,7 @@
|
|
29
29
|
|
30
30
|
```
|
31
31
|
上のコードだと、変数の中にはクラスとデータが混同しています。
|
32
|
-
やはりこの場合だと名前でクラスかどうかを判断するので、クラスと変数を見分ける要素は薄いと考えます。
|
32
|
+
やはりこの場合だと名前でクラスかどうかを判断するので、記法によってクラスと変数を見分ける要素は薄いと考えます。
|
33
33
|
|
34
34
|
下記の例だと、変数を見分ける時、1と2より2と3の方が見分けられやすいと思いました。
|
35
35
|
また、getNameDataはnameDataを取得するのかNameDataを取得するのでは後者の方が自然な気がしました。
|
8
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
オブジェクト指向は、処理がブラックボックス化するので名前がかなり重要だと思い考えています。
|
3
3
|
|
4
4
|
よく公開されているコードで見る変数の命名規則がキャメルケースで書かれていることが多いです。
|
5
|
-
そ
|
5
|
+
それとは逆に、変数の命名規則について自分はパスカルケースで書くほうが自然だと思ったのですが、なぜキャメルケースで書くのでしょうか。
|
6
6
|
|
7
7
|
**よく見る命名規則**
|
8
8
|
クラス:UserController
|
@@ -14,6 +14,7 @@
|
|
14
14
|
関数:getUserData()//必ず先頭は動詞
|
15
15
|
変数:UserName//必ず先頭は名詞
|
16
16
|
|
17
|
+
**なぜそう思うのか**
|
17
18
|
よく見る命名規則は、変数名がキャメルケースになっていることが多いです。
|
18
19
|
しかし、関数には演算などの処理をさせる部分を全て書きますし、クラスはインスタンスを作成して使用するので変数と同じくデータを格納しておくものと分類できます。
|
19
20
|
そのため、変数とクラスは必ず先頭の単語を名詞にし、関数の先頭の単語は動詞にすると自然だと思います。
|
@@ -28,7 +29,7 @@
|
|
28
29
|
|
29
30
|
```
|
30
31
|
上のコードだと、変数の中にはクラスとデータが混同しています。
|
31
|
-
やはりこの場合だと名前でクラスかどうかを判断するので、クラスと変数を見分ける要素
|
32
|
+
やはりこの場合だと名前でクラスかどうかを判断するので、クラスと変数を見分ける要素は薄いと考えます。
|
32
33
|
|
33
34
|
下記の例だと、変数を見分ける時、1と2より2と3の方が見分けられやすいと思いました。
|
34
35
|
また、getNameDataはnameDataを取得するのかNameDataを取得するのでは後者の方が自然な気がしました。
|
7
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -30,11 +30,12 @@
|
|
30
30
|
上のコードだと、変数の中にはクラスとデータが混同しています。
|
31
31
|
やはりこの場合だと名前でクラスかどうかを判断するので、クラスと変数を見分ける要素というのは少ない気がしました。
|
32
32
|
|
33
|
-
下記の例だと、
|
33
|
+
下記の例だと、変数を見分ける時、1と2より2と3の方が見分けられやすいと思いました。
|
34
|
+
また、getNameDataはnameDataを取得するのかNameDataを取得するのでは後者の方が自然な気がしました。
|
34
35
|
```ここに言語を入力
|
35
|
-
1,
|
36
|
+
1, nameData;
|
36
37
|
2, getNameData();
|
37
|
-
3,
|
38
|
+
3, NameData;
|
38
39
|
```
|
39
40
|
|
40
41
|
|
6
コード修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -32,9 +32,9 @@
|
|
32
32
|
|
33
33
|
下記の例だと、1と2では関数と変数を一瞬で見分けられないですが、2と3では一瞬見分けられます。
|
34
34
|
```ここに言語を入力
|
35
|
-
1,$nameData;
|
35
|
+
1, $nameData;
|
36
|
-
2,
|
36
|
+
2, getNameData();
|
37
|
-
3,$NameData;
|
37
|
+
3, $NameData;
|
38
38
|
```
|
39
39
|
|
40
40
|
|
5
追加
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
4
追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
最近オブジェクト指向を意識し始めて、命名規則を考えるようになりました。
|
2
|
+
オブジェクト指向は、処理がブラックボックス化するので名前がかなり重要だと思い考えています。
|
3
|
+
|
2
4
|
よく公開されているコードで見る変数の命名規則がキャメルケースで書かれていることが多いです。
|
3
5
|
そこで、変数の命名規則について自分はパスカルケースで書くほうが自然だと思ったのですが、なぜキャメルケースで書くのでしょうか。
|
4
6
|
|
@@ -28,6 +30,12 @@
|
|
28
30
|
上のコードだと、変数の中にはクラスとデータが混同しています。
|
29
31
|
やはりこの場合だと名前でクラスかどうかを判断するので、クラスと変数を見分ける要素というのは少ない気がしました。
|
30
32
|
|
33
|
+
下記の例だと、1と2では関数と変数を一瞬で見分けられないですが、2と3では一瞬見分けられます。
|
34
|
+
```ここに言語を入力
|
35
|
+
1,$nameData;
|
36
|
+
2,$getNameData
|
37
|
+
3,$NameData;
|
38
|
+
```
|
31
39
|
|
32
40
|
|
33
41
|
**質問**
|
3
詳細の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -30,6 +30,6 @@
|
|
30
30
|
|
31
31
|
|
32
32
|
|
33
|
-
|
34
33
|
**質問**
|
34
|
+
自分としては、変数とクラスは同じくパスカルケースで書いたほうが、
|
35
|
-
|
35
|
+
関数と変数の見分けがすぐに付くので可読性が上がると思うのですが、なぜ変数をキャメルケースで書く場合が多いのでしょうか?
|
2
詳細の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -17,6 +17,19 @@
|
|
17
17
|
そのため、変数とクラスは必ず先頭の単語を名詞にし、関数の先頭の単語は動詞にすると自然だと思います。
|
18
18
|
|
19
19
|
|
20
|
+
**クラスのインスタンス作成時の違い**
|
21
|
+
```ここに言語を入力
|
22
|
+
//パスカルケース
|
20
|
-
|
23
|
+
UserController = new UserController();
|
24
|
+
//キャメルケース
|
25
|
+
userController = new UserController();
|
21
26
|
|
27
|
+
```
|
28
|
+
上のコードだと、変数の中にはクラスとデータが混同しています。
|
22
|
-
クラスと変数を見分ける
|
29
|
+
やはりこの場合だと名前でクラスかどうかを判断するので、クラスと変数を見分ける要素というのは少ない気がしました。
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
|
34
|
+
**質問**
|
35
|
+
自分としては、変数はクラスと同じようにパスカルケースで書いたほうがわかりやすいと思うのですが、なぜ変数をキャメルケースで書く場合が多いのでしょうか?
|
1
詳細
title
CHANGED
File without changes
|
body
CHANGED
@@ -10,11 +10,13 @@
|
|
10
10
|
**自分の最適だと思う命名規則**
|
11
11
|
クラス:UserController//必ず先頭は名詞
|
12
12
|
関数:getUserData()//必ず先頭は動詞
|
13
|
-
変数:UserName//必ず先頭は名詞
|
13
|
+
変数:UserName//必ず先頭は名詞
|
14
14
|
|
15
15
|
よく見る命名規則は、変数名がキャメルケースになっていることが多いです。
|
16
16
|
しかし、関数には演算などの処理をさせる部分を全て書きますし、クラスはインスタンスを作成して使用するので変数と同じくデータを格納しておくものと分類できます。
|
17
17
|
そのため、変数とクラスは必ず先頭の単語を名詞にし、関数の先頭の単語は動詞にすると自然だと思います。
|
18
18
|
|
19
19
|
|
20
|
-
自分としては、変数はクラスと同じようにパスカルケースで書いたほうがわかりやすいと思うのですが、なぜ変数をキャメルケースで書く場合が多いのでしょうか?
|
20
|
+
自分としては、変数はクラスと同じようにパスカルケースで書いたほうがわかりやすいと思うのですが、なぜ変数をキャメルケースで書く場合が多いのでしょうか?
|
21
|
+
|
22
|
+
クラスと変数を見分けるためも一つの理由になると思いましたが、クラス名の後半の単語でわかると思いました。
|