方法应该告诉对象要做什么,例如:
circle.paint()
但如果我告诉对象getSomething()
,我会告诉对象获取“某事”(从任何地方)和不到返回“某事”,get
方法的典型用法是什么(getName()
将返回“name”)。
我认为命名方法returnSomething()
更为正确。
get
(通常使用的)是一个错误的命名模式吗?
答案 0 :(得分:1)
约定可能会因您使用的语言而异,在php中(不支持getter / setter方法)以下是很常见的:
$myObject=>setSomething($value)
- 将$ myObject的内部变量设置为$ something
$myObject=>getSomething()
- 返回$ myObject的内部变量,表示'something'
这在C#等语言中不太常见,它支持getter / setter方法,您可能会执行以下操作:
public object Something {
get { return _something; }
set { _something = value; }
}
然后您可以使用点语法访问私有变量:
myObject.Something="something";
string value=myObject.Something;
答案 1 :(得分:1)
我个人不使用Get
前缀。
对于“指标”,我只使用检索某些内容的方法Is
例如。 payment.IsOverdue()
至于setter方法 - 那些不应该存在。
对象状态应该通过调用行为自己定义。
Get
没有必要,因为当我们要求某些东西时,应该使用名词进行命名。
答案 2 :(得分:0)
Deamon,首先我认为这件事有点依赖于语言。其次,我已经为你提供了Method Naming Guidelines。
以下是例子 正确命名的方法。
的removeAll()
GetCharArray()
调用()
我还可以说,在我工作的公司中,我们总是使用GetSomething()
,GetYourAcceptRateHigher()
之类的名称作为我们的方法。