teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

12

タイトル修正

2016/12/12 21:15

投稿

recode
recode

スコア31

title CHANGED
@@ -1,1 +1,1 @@
1
- 最近の命名規約について
1
+ 命名規約について
body CHANGED
File without changes

11

編集

2016/12/12 21:15

投稿

recode
recode

スコア31

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

追加

2016/12/12 21:11

投稿

recode
recode

スコア31

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

誤字修正

2016/12/12 21:00

投稿

recode
recode

スコア31

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

修正

2016/12/03 14:12

投稿

recode
recode

スコア31

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

修正

2016/12/03 14:10

投稿

recode
recode

スコア31

title CHANGED
File without changes
body CHANGED
@@ -30,11 +30,12 @@
30
30
  上のコードだと、変数の中にはクラスとデータが混同しています。
31
31
  やはりこの場合だと名前でクラスかどうかを判断するので、クラスと変数を見分ける要素というのは少ない気がしました。
32
32
 
33
- 下記の例だと、1と2では関数と変数を一瞬で見分けられないですが、2と3では一瞬見分けられす。
33
+ 下記の例だと、変数を見分ける時1と2より2と3の方が見分けられいと思いました
34
+ また、getNameDataはnameDataを取得するのかNameDataを取得するのでは後者の方が自然な気がしました。
34
35
  ```ここに言語を入力
35
- 1, $nameData;
36
+ 1, nameData;
36
37
  2, getNameData();
37
- 3, $NameData;
38
+ 3, NameData;
38
39
  ```
39
40
 
40
41
 

6

コード修正

2016/12/03 12:52

投稿

recode
recode

スコア31

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,$getNameData
36
+ 2, getNameData();
37
- 3,$NameData;
37
+ 3, $NameData;
38
38
  ```
39
39
 
40
40
 

5

追加

2016/12/03 12:42

投稿

recode
recode

スコア31

title CHANGED
File without changes
body CHANGED
File without changes

4

追加

2016/12/03 12:36

投稿

recode
recode

スコア31

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

詳細の追加

2016/12/03 12:35

投稿

recode
recode

スコア31

title CHANGED
File without changes
body CHANGED
@@ -30,6 +30,6 @@
30
30
 
31
31
 
32
32
 
33
-
34
33
  **質問**
34
+ 自分としては、変数とクラスは同じくパスカルケースで書いたほうが、
35
- 自分しては、変数はクラスと同じようパスカルケース書いたほうわかりやすいと思うのですが、なぜ変数をキャメルケースで書く場合が多いのでしょうか?
35
+ 関数と変数の見分けがすぐ付くの可読性上がると思うのですが、なぜ変数をキャメルケースで書く場合が多いのでしょうか?

2

詳細の追加

2016/12/03 11:53

投稿

recode
recode

スコア31

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

詳細

2016/12/03 11:47

投稿

recode
recode

スコア31

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
+ クラスと変数を見分けるためも一つの理由になると思いましたが、クラス名の後半の単語でわかると思いました。