Философия говнокода. Вопрос не риторический.
При этом замес такой, что я как археолог разрываю пласты и определяю эпохи: вот тут писалось в 2001 году нормальным человеком; вот тут неадекват оставил тонну говна в 2005...
Ну да бог с ним, разберусь. Медведя можно научить курить, да так, что он на ласапете сам научится ездить.
У меня же другая проблема. Этического характера. В связи с этим вопрос: как вы взглядываете на нижеследующее? Оценивать контрастно: говно/не говно.
У меня с некоторых пор для экономии пальцев появилась манера геттеры и сеттеры заключать в один метод. То есть, вместо
Код:
class TObject {
protected $var;
public function getVar(){
return $this->var;
}
public function setVar($val){
$this->var = $val;
return $this;
}
}
protected $var;
public function getVar(){
return $this->var;
}
public function setVar($val){
$this->var = $val;
return $this;
}
}
Код:
public function Var($val = null) {
if (is_null($val)) {
return $this->var;
} else {
$this->var = $val;
return $this;
}
}
if (is_null($val)) {
return $this->var;
} else {
$this->var = $val;
return $this;
}
}
На мой взгляд, это нормальный подход.
Расскажите, люди добрые-знающие, насколько такой подход говён. А то не хочется портить ещё и своими отходами людям и без меня загаженные тонны кода.
не лучшее решение ИМХО на самом деле. Это примерно тоже самое что совмещать рот и прямую кишку ))
Не стоит волноваться, этим кодом Вы ничего не испортите. Скорее наоборот добавите пикантности. Вам следует оставить такой след в этом коде, чтобы люди, которые его будут править после Вас изумились еще больше чем Вы.
Вот русскими же буквами попросил оценить конкретно: говно или не говно. )))
Я бы въехал сходу. Но, все-таки говно. Есть такой принцип -- "наименьшего удивления". Тем более это должно относиться к сетерам и гетерам, поскольку их привычный вариант это уже стандарт "де-факто".
Цитата: mfender
Вот русскими же буквами попросил оценить конкретно: говно или не говно. )))
ну так и оценили - говно. )))
лучше так не делать.
Причин несколько - но самая главная - подобный метод кодирования очень быстро приводит к "макаронному стилю" и прочим ништякам.
и кстати - бывают ситуации когда для геттера тоже нужны параметры. Это вторая причина почему не стоит делать это одним методом
P.S. Кстати, подобная идея в некоторых языках реализована (в Delphi и насколько знаю в шарпе), но в другом виде -- через свойства. Там не обязательно геттер и сетер вызывать, а можно как-бы "напрямую" читать из переменной или ей присваивать, а на самом деле неявно гетеры и сетеры вызываются, но они вполне обыкновенные.
Убедили Не буду такое говнецо рисовать, напрягу пальчонки )))))