Независимые методы получения и установки или комбинированные?

Работая над проектом, я вносил некоторые изменения и просматривал существующие документы API фреймворка для понимания.

Во время просмотра документации Kohana, я заметил, что геттеры / сеттеры любого данного класса обычно объединяются:

public function someProperty($value = null){
    if(is_null($value){
        return $this->_someProperty;
    }
    $this->_someProperty = $value;
    return $this;
}

Вместо:

public function setSomeProperty($value){
    $this->_someProperty = $value;
    return $this;
}

public function getSomeProperty(){
    return $this->_someProperty;
}

Есть ли в этом какая-то ценность ( первый ), помимо уменьшения метода количество данного класса? Я всегда понимал, что методы ( функции в целом ) должны быть более описательными для действия. Другие опытные разработчики съеживаются, даже немного, когда видят это?

Я был просто удивлен, увидев, что популярный фреймворк использует такие соглашения ( Я, конечно, не использовал Kohana )

18
задан Dan Lugg 26 March 2014 в 09:55
поделиться