回答編集履歴

4

y

2016/07/22 01:08

投稿

harashow1701
harashow1701

スコア854

test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
 
17
- ただ、これだと単に命名の話ということになってしまうのですが、結局、どういった設計がより適しているかはケースバイケースなのでこうとしか言いようがありません。chiken自体に持たせるのであれば、やはり前述の通り、cutだと意味的に不自然感が半端ないので、chickenが保持する内部データの変化を表すような名前でメソッド名を考えてあげると良いのかなと思います。
17
+ ただ、これだと単に命名の話ということになってしまうのですが、結局、どういった設計がより適しているかはケースバイケースなのでこうとしか言いようがありません。chiken自体に持たせるのであれば、やはり前述の通り、cutだと意味的に不自然感が半端ないので、chickenが保持する内部データの変化を表すような名前でメソッド名を考えてあげると良いのかなと思います。例えば、chicken.split()とか。これであれば、chef.serve("親子丼")というメソッドを実行した時にchefの内部で持つknifeクラスのcutメソッドが呼ばれて、さらにcutの対象であるchicken.split()が実行され〜〜〜のようなことで意味的にも自然だと思います。
18
18
 
19
19
 
20
20
 

3

r

2016/07/22 01:08

投稿

harashow1701
harashow1701

スコア854

test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
 
17
- ただ、これだと単に命名の話ということになってしまうのですが、結局、どういった設計がより適しているかはケースバイケースで、今回の例でればchef自体にcutメソッドの実装を持たせていてもコードの量的に良い気もしすし、cuttableなインターフェイスを実装したknifeクラスにcutメソッドの実装を持たてもいいと思います。chiken自体に持たせるのであれば、やはり前述の通り、cutだと意味的に不自然感が半端ないので、chickenが保持する内部データの変化を表すような名前でメソッド名を考えてあげると良いのかなと思います。
17
+ ただ、これだと単に命名の話ということになってしまうのですが、結局、どういった設計がより適しているかはケースバイケースなのこうとか言いようがませ。chiken自体に持たせるのであれば、やはり前述の通り、cutだと意味的に不自然感が半端ないので、chickenが保持する内部データの変化を表すような名前でメソッド名を考えてあげると良いのかなと思います。
18
18
 
19
19
 
20
20
 

2

x

2016/07/22 01:04

投稿

harashow1701
harashow1701

スコア854

test CHANGED
@@ -18,4 +18,8 @@
18
18
 
19
19
 
20
20
 
21
+ 先に挙げた例に戻ると、employee.pay()のような名前だと従業員が立て替えしておいたようにも解釈出来ますし、罰金でも支払わされたのかとも解釈出来てしまいます。混乱の元になると思うので、「〜された」ことをメソッドとするならば、やはり自然に意味が通る名前にすべきだと思います。
22
+
23
+
24
+
21
25
  この質問、他の方の回答がすごい気になります!

1

2016/07/22 01:02

投稿

harashow1701
harashow1701

スコア854

test CHANGED
@@ -14,4 +14,8 @@
14
14
 
15
15
 
16
16
 
17
+ ただ、これだと単に命名の話ということになってしまうのですが、結局、どういった設計がより適しているかはケースバイケースですし、今回の例であればchef自体にcutメソッドの実装を持たせていてもコードの量的に良い気もしますし、cuttableなインターフェイスを実装したknifeクラスにcutメソッドの実装を持たせてもいいと思います。chiken自体に持たせるのであれば、やはり前述の通り、cutだと意味的に不自然感が半端ないので、chickenが保持する内部データの変化を表すような名前でメソッド名を考えてあげると良いのかなと思います。
18
+
19
+
20
+
17
21
  この質問、他の方の回答がすごい気になります!