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

回答編集履歴

6

誤字修正

2019/11/11 18:12

投稿

nico25
nico25

スコア830

answer CHANGED
@@ -22,8 +22,8 @@
22
22
  後者のコードは `X` が1度 `0` になってから `1` に変化しています。
23
23
  これが「副作用」です。
24
24
 
25
- 最近プログラミング言語では「副作用」を嫌傾向にあます。
25
+ 最近プログラムを書くときに「副作用」を嫌傾向にある気がします。
26
- 副作用をあまり許さない言語として
26
+ 副作用をあまり許さない言語として
27
27
  Elixir や Elm などがあり、これを「関数型言語」と呼ばれるのを目にします。
28
28
 
29
29
  なぜ「副作用」が嫌われる傾向にあるのかは、こちらに書きました。

5

誤字修正

2019/11/11 18:12

投稿

nico25
nico25

スコア830

answer CHANGED
@@ -1,4 +1,4 @@
1
- **個人的には** 前者をオススメしたいです。
1
+ 個人的には前者をオススメしたいです。
2
2
  ちなみに、前者のコードに誤りがあるので、修正します。
3
3
  ```python
4
4
  class Example():

4

誤字修正

2019/11/11 18:11

投稿

nico25
nico25

スコア830

answer CHANGED
@@ -1,4 +1,4 @@
1
- **個人的には** 前者を進めたいです。
1
+ **個人的には** 前者をオススメしたいです。
2
2
  ちなみに、前者のコードに誤りがあるので、修正します。
3
3
  ```python
4
4
  class Example():

3

誤字修正

2019/11/11 18:09

投稿

nico25
nico25

スコア830

answer CHANGED
@@ -56,6 +56,8 @@
56
56
 
57
57
  ### staticmethod
58
58
  `staticmethod` を使うと `self` を書かなくても動くようになります。
59
+ `staticmethod` は使えるときには積極的に使うのが
60
+ 副作用が無いことを明示している点で望ましいと個人的に感じています。
59
61
  ```python
60
62
  class Example():
61
63
  def __init__(self):

2

誤字修正

2019/11/11 17:43

投稿

nico25
nico25

スコア830

answer CHANGED
@@ -17,6 +17,7 @@
17
17
 
18
18
  なぜなら後者は「副作用」を持っているからです。
19
19
  副作用というのは、属性(インスタンス変数、またはクラス変数)を変化させることです。
20
+ * [Python の属性 - クラス変数とインスタンス変数ってなに?](https://python.ms/attribute/)
20
21
 
21
22
  後者のコードは `X` が1度 `0` になってから `1` に変化しています。
22
23
  これが「副作用」です。

1

誤字修正

2019/11/11 17:41

投稿

nico25
nico25

スコア830

answer CHANGED
@@ -1,9 +1,6 @@
1
1
  **個人的には** 前者を進めたいです。
2
2
  ちなみに、前者のコードに誤りがあるので、修正します。
3
3
  ```python
4
- #
5
- # コピペで動きます。
6
- #
7
4
  class Example():
8
5
  def __init__(self):
9
6
  # self.X = setX() <--- self が無いです。
@@ -40,9 +37,6 @@
40
37
  PEP 8 はキャメルケースではなくスネークケースです。
41
38
 
42
39
  ```python
43
- #
44
- # コピペで動きます。
45
- #
46
40
  class Example():
47
41
  def __init__(self):
48
42
  # self.X = self.setX()
@@ -62,9 +56,6 @@
62
56
  ### staticmethod
63
57
  `staticmethod` を使うと `self` を書かなくても動くようになります。
64
58
  ```python
65
- #
66
- # コピペで動きます。
67
- #
68
59
  class Example():
69
60
  def __init__(self):
70
61
  # self.X = self.setX()