我看到(并编写)了很多这样的代码:
class MyClass
{
private $_myProperty;
public function setMyPropert($myProperty)
{
$this->_myProperty = $myProperty;
}
public function getMyProperty()
{
return $this->_myProperty;
}
}
因为我们被教导类属性应该始终是私有的。
但是,我真的只想在上述情况下这样做:
class MyClass
{
public $myProperty;
}
那是更少的代码,更容易阅读。但是其他开发人员会看不起这段代码,很可能它会通过代码审查等。即使没有,我仍然不会这样做,因为害怕别人看到它并做出判断。
为什么呢?这是在 oop 代码开发人员中根深蒂固的东西吗?或者还有其他我失踪的原因,可能与测试、未来维护或其他不明显的技术原因有关。我是在 getter/setter 注意到更多 get/set 的情况下专门讨论的。