方法命名是将对象视为我们操作的一些数据,因此getValue
表示我得到了值。虽然,在方法的描述中,我们总是阅读有关做某事的对象,而不是我们。
当它是关于对象自己的数据时,我们不应该从对象的角度选择方法名吗?
因此,由于对象提供其值,因此方法的名称将为giveValue
。
虽然“setter”将被命名为getValue
,但由于该对象正在获取该值。
我的(讨厌)问题主要是因为 get 术语,用于从对象检索数据或要求对象从某处检索数据。
getValue→“返回值”
getData→“调用另一个对象并获取一些数据”
答案 0 :(得分:4)
根据你自己的逻辑,我会说它被称为Get
,因为对象从其内部数据中获取一个值,并将其返回给调用者。这里有意义的操作是获取数据,这些数据取决于属性,而不是将其返回给用户,这是不变的。
除此之外,命名方法的目的是为它们提供名称,使其非常清楚它们的作用。命名你的二传手GetValue
对你的用户来说就是一种虐待狂。
答案 1 :(得分:2)
当它是关于对象自己的数据时,我们不应该从对象的角度选择方法名吗?
不,因为从本质上讲,对象只是我们用来存储/携带信息的容器。编程是关于编写易于使用的代码。从开发人员的角度理解,而不是对象。
答案 2 :(得分:1)
将其视为与对象的对话:
对象请告诉我你的价值;对象请设定你的价值。
只是不那么礼貌,因为这是编程而不是礼仪学校。